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


Understanding the Zend Framework Bootstrap process and resource loading from application.ini

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

我知道我可以创建自己的受保护的init函数,这些函数将在引导过程中自动调用。

Zend框架文档在某些领域缺乏。

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

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

您的引导程序类最终继承自Zend_Application_Bootstrap_BootstrapAbstract。该类中的bootstrap()方法首先搜索前缀为_init的类方法,然后运行这些方法。然后,它查找资源插件,这些插件由选项数组的"resources"部分填充。选项数组来自传递给Zend应用程序的配置,该配置通常来自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,但这是一种你真的不需要知道细节的事情,除非你的需求是一点定制。