微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何在codeigniter控制器中访问自定义配置变量

我有一个带有自定义配置文件的codigniter项目
application/config/my_config_variables.PHP:

这包含

<?PHP
$config['days'] = 20;

在:

application/config/autoload.PHP

我已经添加

$autoload['config'] = array('my_config_variables');

当我尝试使用以下命令在我的控制器中访问它时:

echo $this->$config['new_daily_contacts'];

我明白了:

Fatal error: Cannot access empty property.

我究竟做错了什么?

附录:

在我的控制器中,我添加了:

// An alternate way to specify the same item:
            $my_config = $this->config->item('my_config_variables',true);
            var_dump($my_config);

输出FALSE – 为什么?

查看Codeigniter上的 config documentation.
echo $this->config->item('new_daily_contacts');

这将尝试抓住$config [‘new_daily_contacts’]但是从你的帖子看起来你的配置文件中只有$config [‘days’].但这应该让你指出正确的方向.

替代方式

使用替代方法,您尝试加载配置,但您使用的是item方法,而不是加载方法.在item方法中,第二个参数是您要在config数组中引用的索引.例如.以上为例.

$my_config = $this->config->load('my_config_variables',true);
var_dump($my_config);
$days = $this->config->item('days','my_config_variables');

因为在load方法上传递true作为第二个参数将创建一个配置文件同名的索引.如果恰好有其他配置文件包含相同的配置名称,这有助于避免任何冲突.

$配置[ ‘天’];成为$config [‘my_config_variables’] [‘天’]

要访问该配置变量,您必须在item方法中传递索引.

https://github.com/bcit-ci/CodeIgniter/blob/2.1-stable/system/core/Config.php#L189

原文地址:https://www.jb51.cc/php/135551.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐