在CakePHP中访问Controller中的Configuration :: read

时间:2014-04-24 11:55:36

标签: php cakephp configuration

我的CakePHP应用程序有一个单独的配置文件,它在bootstrap.php中加载。我的问题是,如何在Controller中访问Configuration的变量?即如何在Controller中执行Configure :: read('variable')函数?谢谢!

4 个答案:

答案 0 :(得分:3)

像这样:

应用程序/配置/使用example.php

<?php
$config = array(
    'MyConf' => array(
        'secret' => '1234',
        )
);
控制器中的

Configure::load('example');
Configure::read('MyConf.secret');

答案 1 :(得分:3)

在我的自定义配置文件/app/Config/myconfig.php中,我定义了我的配置变量:

<?php

$config = array(
    'variable' => 'myValue'
);

在我的Action中,我读过可以读取配置文件并获取变量的访问权限:

Configure::load('myconfig', 'default');
$configValue = Configure::read('variable');
echo $configValue;  // myValue

答案 2 :(得分:2)

请阅读文档。 在那里很好地解释了如何加载自定义配置文件: http://book.cakephp.org/2.0/en/development/configuration.html#loading-configuration-files

默认情况下,如类本身所述,它会将其配置与已加载的配置合并。

Configure::read('variable')

然后加载新配置的内容,如果它覆盖了应用程序。

答案 3 :(得分:2)

我在这里找到了另一个很好的解决方案。click here

创建自定义配置 首先,在您想要的app/config目录中创建一个文件。

Example: my_app_settings.php

现在,在此文件中,您可以使用$config数组

添加所需的任何设置
    <?php
    $config['MyApp']['mysql_user'] = 'bob';
    $config['MyApp']['mysql_pass'] = 'foobar';

// etc etc

接下来,您需要告诉您的应用加载此新配置文件。我倾向于在bootstrap.php中执行它以确保它在整个应用程序中加载(尽管如果有更好/更可取的地方一定要让我知道)

<?php
// app/config/bootstrap.php

// snip

Configure::load('my_app_settings');

现在,您可以在应用中的任何位置访问自定义设置

<?php
$mysqlUser = Configure::read('MyApp.mysql_user');