[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,皆大欢喜。

标签: php

发表评论:

Powered by anycle 湘ICP备15001973号