> 백엔드 개발 > PHP 튜토리얼 > 使用ZF的话,等于每次都要load zf的mvc框架,这样岂非很浪费,该怎么处理

使用ZF的话,等于每次都要load zf的mvc框架,这样岂非很浪费,该怎么处理

WBOY
풀어 주다: 2016-06-13 10:05:34
원래의
959명이 탐색했습니다.

使用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 的适用范围

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿