怎样让我的Zend_Form执行起来效率更快?
时间:2010-02-22 来源:yueming
现在我来说一下我自己在用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 |
2。把Zend_Form写入缓存文件。
<?php |
3。根据你的缓存时间(缓存是否过期)取到Zend_Form缓存.程序在第二点有说明。
写到这里,基本上加速Zend_Form的问题得到一个解决。当然这是加速的效果不算太显著。