文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>怎样让我的Zend_Form执行起来效率更快?

怎样让我的Zend_Form执行起来效率更快?

时间:2010-02-22  来源:yueming

从学ZendFarmework以来,就在用Zend_Form这个组件。当然对于这个组件的好坏。个人有个人的看法。。就说从项目开发的角度来看,如何让美工和程序员更好的去更改程序员所写的Form。这是个很大的问题,因为不可能让美工去改程序员的东西。所以,在开发的过程中真的,有点想用 Zend_Form,又怕用。。因为很多不方便的。特别是在要做页面修改的时候,真有点难。关于这问题,先且不说。
现在我来说一下我自己在用Zend_Form过程中遇到的问题。其中有二点:

第一:前期在使用Zend_Form时,排版和布局是一个比较费时间的事情。
第二:当页面载入我们写好的Zend_Form时,页面解析速度很慢。

第一点解决方式与感想:我在运用的过程中,刚开始时候是真的非常的吃力。。就算不需要美工去排版,我自己来写一个Zend_Form类都是相当的想死。刚开比如说一个最简单的问题:我想把一个密码文本框放在用户名文本框的后面?如何排呢?我要在Form类里面怎样写呢?当时真的很难受。我不可能总用 Zend_Form自带的标签吧?没有任何办法,通过自己看它的源码与手册才知道,原来很简单。更是感觉到ZendFramewok的强大,灵活之处。上面的小问题我们可以自定义的Zend_Form_Decorator装饰器或是自己定义Form的标签。
因此这个问题的解决方式,只有通过自己的运用与实践,就可以很好的解决掉。

第二点:如果你写好你的Form后,执行一下你要掉用它的页面,你会发现页面很慢,这基实就是Zend_Form的解析速度影响到你的页面执行效率。当你的Form表单越来越多的时候,你会发现更是慢到你不可想像的地步。关于这个问题在PHPChina也有讨论具体地址:http://bbs.phpchina.com/viewthread.php?tid=98335  其实这里的讨论也正好也给我提醒了一点。。如果要用Zend_Form就必须提高他的执行速度。我也运用缓存试试看如何。我先测试了一下我在运用 Zend_form页面的执行页面所需要用的时间,晕了(0.2秒多)。当我运用缓存Zend_Form文件时,再查看页面的执行时间(0.04秒)。果然提高效率到5倍以上。真是让人高兴啊。哈哈。。
当然我这里并不会遇到上面那贴子所说的修改,或验证问题。更不需要用JS替换什么。我不知道贴上楼主是怎样遇到修改或验证问题。
现在我把我缓存Zend_Form这块的程序步骤写下来:

1。配置好你的文件缓存目录。
这里我用Zend_Cache里的文件缓存,大致程序如下:

<?php

$frontend = array(

   'lifetime' => 120,//缓存时间


   'automatic_serialization' => true);

   $this->cache = Zend_Cache::factory('Core', 'File',

$frontend,array('cache_dir' =>CACHE_DIR.'/forms'));

 

2。把Zend_Form写入缓存文件。


 

<?php

//检测是否存在缓存,如果不存在就生成


if(!$form = $this->cache->load('rentoutform')) {

  $form = new comadmin_forms_Rentout();//取到Zend_Form表单类


  $this->cache->save($form, 'rentoutform'); //生成Zend_Form缓存


}

$form->submit->setValue('确定修改出租信息');

 

3。根据你的缓存时间(缓存是否过期)取到Zend_Form缓存.程序在第二点有说明。


写到这里,基本上加速Zend_Form的问题得到一个解决。当然这是加速的效果不算太显著。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载