2

这个问题与Zend Framework 2 相关

经过相当多的(重新)阅读和谷歌搜索后,我想出了以下几点:

  • 对于 ZF2 应用程序,bootstrap() 和 run() 之间的实际区别是什么

  • 为什么要使用一个而不是另一个?

  • 为什么 ZF2 Skeleton 在任何地方都使用 run() 而没有提及 bootstrap()?

  • 那么,如果在使用 run() 时一切正常,那么何时会使用 bootstrap()?

  • run() 是否隐式调用 boostrap()?

4

2 回答 2

6

我不知道你为什么想知道这个深度的细节。如果更改,差异不会真正影响。

对于 ZF2 应用程序,bootstrap() 和 run() 之间的实际区别是什么?

bootstrap()是一个独立的类结构。run()是应用程序类的一部分。

为什么要使用一个而不是另一个?

Bootstrap 先于其他任何东西运行。它还初始化各种类的init函数(不在抽象中)。之后运行。换句话说,Bootstrap 会填满枪,Run 就像扣动扳机一样。

为什么 ZF2 Skeleton 在任何地方都使用 run() 而没有提及 bootstrap()?

Skeleton 是一个基本的骨架应用程序,它在框架的引导程序已经被调用之后被调用!

那么,如果在使用 run() 时一切正常,那么何时会使用 bootstrap()?

不,正如我所说,Bootstrap 就像装枪,而 Run 就像扣动扳机。如果您没有要加载的内容,则无法运行任何内容。如果没有隐式调用,则 Run 调用 Bootstrap。

run() 是否隐式调用 boostrap()?

理想情况下,它应该。

于 2013-03-13T08:53:22.250 回答
1

是的,在运行 Mvc 之前,run() 会调用 bootstrap()。然而,不同之处在于 ZF2 具有事件驱动架构,不再需要在引导文件中准备引导。现在每个模块都可以为事件提供侦听器——在引导的情况下,事件是“引导”或方法 onBootstrap()。

本文可以向您介绍 ZF1 和 ZF2 之间最显着的区别。

于 2013-03-13T08:52:15.787 回答