2012-02-17 74 views
2

我使用默认的Zend_Application设计模式,它在应用程序引导程序中自动加载zend config ini文件,并且我需要在许多模型和控制器中创建ini文件的变量。访问Zend_Application_Bootstrap_Bootstrap的getOptions()

现在,我通过设置解决它的配置对象作为重点为Zend_Registry

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

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

是否有另一种方式来访问Zend_Application的配置ini?

回答

4

在控制器,你应该能够做到:

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

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

+0

谢谢!效果很好 – aporat 2012-02-17 19:43:14

0

你总是可以初始化它需要自己与

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

至极几乎是引导做什么你。然后你将在$ options上自动完成。但是,每当你需要时,你都必须初始化它。 我认为修改您的代码以适合自动填充不是有史以来最棒的想法。但这是人格。

如果我没有误认为Zend Studio 8/9(也许是7),即使对于由Zend_Registry::get()返回的对象,您也可以自动完成。