欢迎各位兄弟 发布技术文章
这里的技术是共享的
C('DB_NAME','thinkphp');
表示设置DB_NAME配置参数的值为thinkphp,由于配置参数不区分大小写,所以下面的写法也是一样:
C('db_name','thinkphp');
但是建议保持统一大写的配置定义规范。C('USER.USER_ID',8);
配置参数不建议超过二级。$config['user_id'] = 1; $config['user_type'] = 1; C($config);如果C方法的第一个参数传入数组,就表示批量赋值,上面的赋值相当于:
C('USER_ID',1);
C('USER_TYPE',1);
$userId = C('USER_ID');
$userType = C('USER_TYPE');
如果USER_ID参数尚未定义过,则返回NULL。$userId = C('USER.USER_ID');
如果传入的配置参数为空,表示获取全部的参数:
$config = C();
$config['user_id'] = 1; $config['user_type'] = 1; C($config,'name');在批量设置了config参数后,会连同当前所有的配置参数保存到缓存文件(或者其他配置的缓存方式)。
$config = C('','name');
其中name就是前面保存参数时用的缓存的标识,必须一致才能正确取回保存的参数。取回的参数会和当前的配置参数合并,无需手动合并。C('DB_NAME','thinkphp');复制代码C('db_name','thinkphp');复制代码C('USER.USER_ID',8);复制代码$config['user_id'] = 1;$config['user_type'] = 1;C($config);复制代码C('USER_ID',1);C('USER_TYPE',1);复制代码$userId = C('USER_ID');$userType = C('USER_TYPE');复制代码$userId = C('USER.USER_ID');复制代码$config = C();复制代码$config['user_id'] = 1;$config['user_type'] = 1;C($config,'name');复制代码$config = C('','name');复制代码
能来点实例吗复制代码复制代码复制代码复制代码模板中: {:C('test')[0][0]}
结果: a
<?php//嘛也不懂?>复制代码复制代码复制代码复制代码$config['user_type'] = 1;
C($config,'name');
测试后,Conf/config.php未保存新值。而缓存文件里是更新了的,求证?我的是3.1.3版本。
public function t1(){C('URL_ROUTE_RULES',array('1'=>'test1','2'=>'test2'));}public function t2(){dump(C('URL_ROUTE_RULES'));}复制代码复制代码C(array('1'=>'test1','2'=>'test2'),'URL_ROUTE_RULES');复制代码复制代码取出用
C('','URL_ROUTE_RULES');复制代码复制代码syntax error, unexpected '(', expecting ',' or ';'