访问Zend_Application_Bootstrap_Bootstrap的getOptions()

时间:2012-02-17 18:11:47

标签: php zend-framework zend-config

我正在使用默认的Zend_Application设计模式,它在应用程序引导程序中自动加载zend config ini文件,我需要在许多模型和控制器中输入文件的变量。

现在,我正在通过将配置对象设置为Zend_Registry的键来解决它:

protected function _initConfig()
{
    $config = new Zend_Config($this->getOptions());
    Zend_Registry::set('config', $config);
}

通常,我不喜欢使用Zend_Registry,因为它在我的IDE中不提供代码自动完成,并且很难跟踪我在注册表命名空间中的内容。

是否有其他方法可以访问Zend_Application的config ini?

2 个答案:

答案 0 :(得分:4)

在控制器中你应该能够:

$this->getInvokeArg('bootstrap')->getOptions();

访问配置。对于模型,你真的应该传递你需要的选项。否则你唯一的选择就是注册表。

答案 1 :(得分:0)

您可以随时使用

自行初始化它
$options = new Zend_Config_Ini('/path/to/config.ini',
                               'config');

Wich几乎就是引导程序为你做的事情。然后你会在$ options上自动完成。但是你必须在每次需要的时候初始化它。 我认为修改代码以适应自动完成并不是最好的想法。但这是个人的。

如果我没有被Zend Studio 8/9(可能是7)弄错,即使对Zend_Registry::get()返回的对象也有自动完成功能。