C函数在thinkphp中使用也是比较频繁的,用法也比较简单,所以只把解读源码的内容以及运行流程图放上,再另外写上一些使用的注意点作为记录,因为thinkphp的官方文档对这方面的使用讲的比较详细,所以这里不会详细说,只说一些重要的容易弄错的地方。
一:C函数源码解读
/**
* 获取和设置配置参数 支持批量定义
* @param string|array $name 配置变量
* @param mixed $value 配置值
* @param mixed $default 默认值
* @return mixed
*/
function C($name=null, $value=null,$default=null) {
/*初始化静态变量$_config 用来储存本次连接存储的配置*/
static $_config = array();
// 无参数时获取所有,也就是返回所有的配置参数及值的数组
if (empty($name)) {
/*要注意调试模式关闭后,更改配置文件里的配置,这里获取到的还是更改前的配置结果*/
return $_config;
}
// 优先执行设置获取或赋值
// 确定配置变量名的$name是不是字符串
if (is_string($name)) {
/*如果是字符串,且$name中不存在.*/
if (!strpos($name, '.')) {
/*将$name转换成大写*/
$name = strtoupper($name);
/*检查用来配置的值$value是否为null*/
if (is_null($value))