使用ZF的话,等于每次都要load zf的mvc框架,这样岂非很浪费
抱歉,以前都是搞J2EE,刚刚接触PHP,有些东西不是太理解。
因为PHP不能算是在Container中运行的let,所以,它保持的对象的生命周期与request一致,即使是session那也是靠序列话、化到持久层的文件中实现的。
这个理解对不对?
所以,不像J2EE中,在整个Container的生命周期中,对于框架的配置可以只需要读取一次(类似application.ini),对框架的总控对象也可以只生成一次(类似Zend_Application),而在PHP中,则每次请求都必须全部初始化一次。
这样难道不会带来效率问题么?尤其是对于ZF这样的框架来说,肯定比不用框架的PHP要慢一些吧?
还是大家知道有什么别的配置方法,能够使得上述的过程只执行一遍?
------解决方案--------------------
你还说不理解,你理解得很透彻 :)
这个PHP就是这样设计的,所以没有很彻底的办法....
也正因为就是这么设计的,所以这个问题对效率影响也不是想象的那么严重...
(也许php在某些情况下的表现不如J2EE原因也在此)
具体的了解应该要到zend engine里找,不过手册上这里以空白为主 :(
http://www.php.net/manual/en/internals2.php
有些cache库可以一定程度上改善, 参见 http://www.php.net/manual/en/refs.basic.php.php
现在好像也有些实验性的PHP变种是企图模仿J2EE那样的
------解决方案--------------------完全正确
正因为这样,php 才可以搭接在任何一款 web 服务器上
任何改善 php 运行机制的企图都将缩减 php 的适用范围