2010-08-24 60 views

回答

4

我不确定你问的是什么,但你问的是如何使用控制器在application.ini中设置的configs?如果是这样,你应该在引导程序中将Zend_Registry中的配置加载,然后在控制器中检索它。

所以在bootstrap.php中

protected function _initConfig() { 
     $config = new Zend_Config_Ini("../application/configs/application.ini"); 
     Zend_Registry::set('config', $config); 
    } 

的在你的控制器

$myConfig = Zend_Registry::get('config'); 
+0

哦,我还以为配置是自动由框架加载,所以我只需要使用该方法将其存入控制器。 Zend有10种不同的方式来做同样的事情,我只是想确保我没有复制功能。 Thansk.s – 2010-08-24 16:00:52

+0

我发布的方式肯定是正确的。接受我的答案如何?阅读它的工作原理http://stackoverflow.com/faq。欢迎来到stackoverflow。 – Iznogood 2010-08-24 16:09:03

+0

不,这是一个不正确的答案。引导程序自动加载配置,你自己不要这样做...... – 2012-09-19 01:42:16

6

一旦Zend_Application读取application.ini,该值存储在引导。

您可以随时随地访问他们,没有访问磁盘,或使用注册表:

$front = Zend_Controller_Front::getInstance(); 
$bootstrap = $front->getParam('bootstrap'); 
if (null === $bootstrap) { 
    throw new My_Exception('Unable to find bootstrap'); 
} 

$options = $bootstrap->getOptions(); 

在控制器中您也可以使用$this->getInvokeArg('bootstrap');