我使用默认的Zend_Application
设计模式,该模式在应用程序引导程序中自动加载zend-config ini文件,并且我需要在许多模型和控制器中ini文件的变量。
现在,我正在通过将配置对象设置为Zend_Registry
:的密钥来解决这个问题
protected function _initConfig()
{
$config = new Zend_Config($this->getOptions());
Zend_Registry::set('config', $config);
}
一般来说,我不喜欢使用Zend_Registry
,因为它在我的IDE中不提供代码自动完成功能,而且很难跟踪我在注册表命名空间中的内容。
是否有其他方法可以访问Zend_Application的配置ini?
在控制器中,您应该能够执行以下操作:
$this->getInvokeArg('bootstrap')->getOptions();
以访问配置。对于模型,你真的应该传递你需要的选项。否则,您唯一的选择就是注册。
您可以随时使用根据需要对其进行初始化
$options = new Zend_Config_Ini('/path/to/config.ini',
'config');
Wich就像引导程序为你做的一样。然后你就可以自动完成$options了。但每次你需要它时,你都必须初始化它。我认为修改你的代码以适应自动完成并不是有史以来最好的主意。但这是个人的。
如果我没有误解Zend Studio 8/9(可能是7),那么即使对于Zend_Registry::get()
返回的对象,您也可以自动完成。