从application.ini了解Zend Framework引导过程和资源加载

时间:2012-02-20 19:08:11

标签: php zend-framework

我非常熟悉Zend Framework的详细信息以及大多数工作原理。我仍然不完全理解的一个领域是Zend Framework从application.ini加载资源的方式。

我知道我可以创建自己的protected _init函数,这些函数会在bootstrap期间自动调用。

Zend Framework文档在某些方面缺乏。

例如:resources.db配置选项如何以及何时加载?我的引导程序中没有任何关于db的内容。这是按需加载还是实际在引导过程中加载?

任何解释这一点的参考链接都会非常有用。

1 个答案:

答案 0 :(得分:10)

您的引导类最终继承自Zend_Application_Bootstrap_BootstrapAbstract。此类中的bootstrap()方法首先搜索前缀为_init的类方法,然后运行这些方法。然后它会查找资源插件,这些插件由options数组的“resources”部分填充。 options数组来自传递给Zend Application的配置,它通常来自application.ini。

资源插件映射到文件系统上的类。因此,默认情况下resources.db将创建Zend_Application_Resource_Db的实例并运行它(它依次设置相关的数据库内容)。这里有完整的内置资源列表:http://framework.zend.com/manual/en/zend.application.available-resources.html

所有应用程序资源都在引导过程中运行,除非您告诉引导程序仅初始化特定的。

有一个相当详细的概述,它们在文档中是如何组合在一起的:http://framework.zend.com/manual/en/zend.application.theory-of-operation.html,但除非你的要求有点习惯,否则你真的不需要知道细节。