2

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

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

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

一般来说,我不喜欢使用Zend_Registry,因为它在我的 IDE 中不提供代码自动完成功能,而且很难跟踪我在注册表命名空间中的内容。

还有其他方法可以访问 Zend_Application 的配置 ini 吗?

4

2 回答 2

4

在控制器中,您应该能够:

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

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

于 2012-02-17T18:30:44.100 回答
0

您可以随时根据需要自行初始化它

$options = new Zend_Config_Ini('/path/to/config.ini',
                               'config');

Wich 几乎就是引导程序为您所做的。然后你会在 $options 上自动完成。但是每次需要时都必须对其进行初始化。我认为修改你的代码以适应自动完成并不是有史以来最好的主意。但这是个人的。

如果我没记错 Zend Studio 8/9(可能是 7),即使是Zend_Registry::get().

于 2012-02-17T18:22:36.910 回答