【发布时间】:2014-06-05 15:12:15
【问题描述】:
我正在开发一个使用 php 和 zend 框架 2 构建的 Web 应用程序。我来自 Java EE 背景。在我看来,对于每个 http 请求,整个 zend 应用程序堆栈都在重建,从磁盘读取大量配置文件,构建我所有的服务等等。这个对吗?如果是这样,与 Java EE 方法相比,在 Web 服务器启动时初始化大量应用程序服务,然后在许多请求中具有生命周期,这对我来说似乎相当奇怪和低效。看到浏览器发出很多小的 Ajax 请求,这种 php/zend 方法是不是非常慢?我是否需要在处理 Web 应用程序设计的方式上进行范式转变?
【问题讨论】:
-
这是独立于框架的。 PHP 上的一切都是按请求进行的。重新读取所有文件。这就是操作码缓存发挥作用的地方,因此我们已经在内存中拥有了所有相关的东西。缓存是 php 中 Web 开发的重要组成部分。
-
我明白了,感谢您确认这是 PHP 方式。
-
@Sam 我想你想说的是所有需要的文件都被重新读取了。正如我在下面所描述的,并不是每个请求都会读取应用程序和 zf2 的所有文件,而只会读取包含初始化类或配置的文件。甚至那些不会像您正确描述的那样从磁盘读取,它们在大多数情况下来自内存或缓存,坦克到 apache,视图缓存,配置缓存等等。
标签: php web-applications zend-framework2