如何使用zend框架在控制器上读取application.ini

时间:2011-04-18 07:34:57

标签: php zend-framework ini

我的application.ini

中有这些行

如何在我的控制器

中阅读用户
resources.doctrine.dbal.connections.default.parameters.driver   = "pdo_mysql"
resources.doctrine.dbal.connections.default.parameters.dbname   = "zc"
resources.doctrine.dbal.connections.default.parameters.host = "localhost"
resources.doctrine.dbal.connections.default.parameters.port = 3306
resources.doctrine.dbal.connections.default.parameters.user = "root"
resources.doctrine.dbal.connections.default.parameters.password = "123456"

我使用此代码,但它重新调整null

$bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap');
 $user = $bootstrap->getOption('user');
var_dump($user);

修改 我怎样才能阅读所有连接选项?

6 个答案:

答案 0 :(得分:6)

我认为你应该使用

$this->getInvokeArgs('bootstrap');

有关手册中的更多信息see this chapter

使用

怎么样?
$conf = $bootstrap->getOption('resources');
$dbConf = $conf['doctrine']['dbal']['connections']['default']['parameters'];

答案 1 :(得分:3)

如下:

$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
$connectionParams = $config->resources->doctrine->connections;

或者在Bootstrap期间,在$configBootstrap中创建并保存此Zend_Registry个对象,以便以后在您的控制器中进行检索。

答案 2 :(得分:1)

这在您的控制器中。

$bootstrap = $this->getInvokeArg('bootstrap');
$appinidata = $bootstrap->getOptions();
$user=$appinidata['resources']['doctrine']['dbal']['connections']['default']['parameters'] ['user'];

这应该打印“root”。

print_r($user);

答案 3 :(得分:0)

要访问Doctrine容器资源,只需使用:

$bootstrap = $this->getInvokeArg('bootstrap');
$doctrine = $bootstrap->getResource('doctrine');

从那里你可以深入查看默认连接的用户名(如果需要,可以指定连接,只需在调用getConnection时传递连接名称):

$username = $doctrine->getConnection()->getUsername();

答案 4 :(得分:0)

在这种情况下,你应该使用 Zend_Config_Ini

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

第二个参数是应加载 INI 文件中的一个部分; 第三个​​参数是允许修改加载文件的关键。

您可以通过以下方式输出值用户

$config->resources->doctrine->dbal->connections->default->parameters->user;

答案 5 :(得分:0)

您可以使用set方法设置任何变量,如下面的公共文件夹中的index.php 让

$ config ='test'; Zend_Registry :: set('config',$ config);

一旦设置了变量,您就可以通过以下方法

来使用任何控制器/模型

<强>要是Zend_Registry ::得到( '配置');

跳跃帮助!!