【问题标题】:Accessing Configuration::read in Controller in CakePHP在 CakePHP 的 Controller 中访问 Configuration::read
【发布时间】:2014-06-09 16:42:26
【问题描述】:

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

【问题讨论】:

  • 我不明白你的问题 - 你已经给出了答案。只需在控制器中使用Configure::read('variable'),您就可以随意访问它。您只需要确保加载您的自定义配置文件。
  • 是的,很抱歉这个愚蠢的问题。我确定我之前错过了一些东西,但它现在可以工作了。

标签: php cakephp configuration


【解决方案1】:

像这样:

app/Config/example.php

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

在你的控制器中

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

【讨论】:

  • 别忘了你的控制器顶部添加use Cake\Core\Configure;,否则你会得到以下错误Class 'Configure '未找到
【解决方案2】:

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

<?php

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

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

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

【讨论】:

    【解决方案3】:

    在这里我找到了另一个很好的解决方案。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');
    

    【讨论】:

      【解决方案4】:

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

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

      Configure::read('variable')
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多