动态配置、批量配置方面问题

浏览:1062 发布日期:2015/02/08 分类:求助交流
thinkphp 3.2.3

C配置方法支持批量配置,例如:

$config = array('WEB_SITE_title'=>'ThinkPHP','WEB_SITE_DEscriptION'=>'开源PHP框架');C($config);$config数组中的配置参数会合并到现有的全局配置中。

我们可以通过这种方式读取数据库中的配置参数,例如:

// 读取数据库中的配置(假设有一个config表用于保存配置参数)$config = M('Config')->getField('name,value');// config是一个关联数组 键值就是配置参数 值就是配置值// 例如: array('config1'=>'val1','config2'=>'val2',...)C($config); // 合并配置参数到全局配置合并之后,我们就可以和前面读取普通配置参数一样,读取数据库中的配置参数了,当然也可以动态改变。

// 读取合并到全局配置中的数据库中的配置参数C('CONFIG1');// 动态改变配置参数(当前请求有效,不会自动保存到数据库)C('CONFIG2','VALUE_NEW');

/////////////////////////////////////////////////////////////////////////////////////
以上是手册上的话

问题在于,我在一个函数中配置了来自数据库的配置项。

但是,其生命周期只在该函数过程内。

在其他函数中,就不能访问新并入的配置了。

////////////////////////////////////////////////////////////////
以下是我的代码
function set_config_from_db($tablename='amount_config')
{
$configs = M($tablename)->getField('name,value');
C($configs);
dump(C('MOST_CHANGE_SHARE'));die;//得到正确的结果
}
然后
function get_remaining_changeshare($uid)
{
$mostchangeshare = C('MOST_CHANGE_SHARE');
dump(C('MOST_CHANGE_SHARE'));die;//只能得到NULL
}


请大虾讲解。
最佳答案
评论( 相关
后面还有条评论,点击查看>>