苗火 Nicholas
[php]thinkphp后台新增配置项后显示出错(CONFIG_GROUP_LIST)
2017-9-23 萧


使用thinkphp的过程中,一直纳闷一个问题:



在配置文件中新增一行数据后,往往管理页面就正常获取不到配置表了。



仔细追踪之下发现



C('CONFIG_GROUP_LIST']



这种基本的功能都返回的空值。



再往前看时,发现



AdminController.class.php



中对配置缓存有一个初始化过程:



$config =   S('DB_CONFIG_DATA');
C($config);



然而这里的S方法确没能正确获取数据库数据。



S方法起到一个数据库缓存读写的作用,想必后台新增配置项时,会清空数据库配置项缓存,于是再次调用这个方法的时候就没有东西返回了。



所以这里应该改进一下:



        /* 读取数据库中的配置 */
$config = S('DB_CONFIG_DATA');
if(!$config){
$config = api('Config/lists');
S('DB_CONFIG_DATA',$config);
}
C($config); //添加配置



一切OK,皆大欢喜。

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容