我有一个CakePHP 3.3.14应用程序,我已创建了2个子目录,webroot/data/downloads/
和webroot/data/master
我想将这些路径放在自定义配置文件中,并在Controller中引用它们。但是,我无法看到如何做到这一点。
我已经关注了documentation on Configuration,但不是很清楚。
所以我做了什么:
config/my_config.php
上述文件定义了一个数组:
return [ 'downloadsPath' => 'webroot/data/downloads/', 'masterPath' => 'webroot/data/master/' ];
config/bootstrap.php
我放了Configure::load('my_config', 'default');
如何在控制器中使用它?如果我放Configure::read('my_config.masterPath');
,则会出错: Class' App \ Controller \ Configure'找不到
如果我将use Cake\Core\Configure;
添加到控制器顶部,则会清除错误,但返回值为null
:
debug(Configure::read('my_config.masterPath')); // null
答案 0 :(得分:7)
加载另一个配置文件只会扩展默认的App.config
。所以只需使用\Cake\Core\Configure::read('masterPath')
就可以了。
修改强>
如果你的目标是拥有不同的配置路径,你可以这样做:
// my_config.php
return [
'MyConfig' => [
'masterPath' => '...',
...
]
]
然后使用如下配置:
<?= \Cake\Core\Configure::read('MyConfig.masterPath') ?>