|
发现一个算不算bug?的bug..
灵感来源于
http://codeigniter.org.cn/forums/thread-11460-1-1.html这个帖子的"$this->load->config('config');"这句
index.php中可以修改配置文件里的默认配置, 你也可以通过配置类动态修改默认配置
上面两种情况你用到了任何一种,那么千万别再 $this->load->config('config'); 因为CI会再读一次config文件,并覆盖掉你已经动态修改过的配置
配置类载入配置文件时会记录已载入的配置文件,不会重复载入,但是 application/config/config.php不是通过配置类载入的,而是通过get_config()载入的
测试代码:
PHP复制代码
//默认的配置 0
echo $this->config->item('log_threshold').'<br>';
//动态修改配置为 2
$this->config->_assign_to_config (array('log_threshold'=>2));
echo $this->config->item('log_threshold').'<br>';
//bug来了 被默认配置覆盖了 0
$this->config->load('config');
echo $this->config->item('log_threshold').'<br>';
//再次设置为 2, 两个2了
$this->config->_assign_to_config (array('log_threshold'=>2));
echo $this->config->item('log_threshold').'<br>';
//再次载入config,这次则没有覆盖2
$this->config->load('config');
echo $this->config->item('log_threshold').'<br>';
exit();
复制代码
|
|