访问配置::在CakePHP中的控制器中读取


Accessing Configuration::read in Controller in CakePHP

我的CakePHP应用程序有一个单独的配置文件,它加载在bootstrap.php中。我的问题是,我如何访问控制器中的配置变量?即,我如何在控制器中执行配置::读取("变量")功能?谢谢

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

<?php
$config = array(
    'variable' => 'myValue'
);

在我的操作中,我可以读取配置文件并访问变量:

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

如下:

app/Config/example.php

<?php
$config = array(
    'MyConf' => array(
        'secret' => '1234',
        )
);

在您的控制器中

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

在这里我找到了另一个好的解决方案。点击此处

创建自定义配置首先,在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');

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

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

Configure::read('variable')

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