thinkphp函数学习(3): C函数详解
function C($name=null, $value=null,$default=null) { static $_config = array(); // 无参数时获取所有 if (empty($name)) { return $_config; } // 优先执行设置获取或赋值 if (is_string($name)) { if (!strpos($name, ‘.‘)) { $name = strtolower($name); if (is_null($value)) return isset($_config[$name]) ? $_config[$name] : $default; $_config[$name] = $value; return; } // 二维数组设置和获取支持 $name = explode(‘.‘, $name); $name[0] = strtolower($name[0]); if (is_null($value)) return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : $default; $_config[$name[0]][$name[1]] = $value; return; } // 批量设置 if (is_array($name)){ $_config = array_merge($_config, array_change_key_case($name)); return; } return null; // 避免非法参数 }
这是thinkphp中function.php里面定义的函数。
详解:
此函数功能有:
1、获得$_config数组,其中保存着配置信息(静态变量只初始化一次,函数执行完毕,值不会消失)
print_r(C()); // 这样能获得所有已读取或设置的配置信息
2、读取配置的值
echo C(‘key‘); echo C(‘key.subkey‘); //二维数组的读取,对应的配置文件结构为 return array( ‘key‘=>array(‘subkey‘,‘value‘), )
3、动态添加配置
C(‘key‘,‘value‘); C(‘key.subkey‘,‘value‘);
C函数实现的关键点:
1、static $_config = array(); 把$_config设置为静态变量,使其能够存储值
2、配置文件的写法。
return $arr = array( ‘key1‘=>‘value‘; ‘key2‘=>array(‘subkey‘,‘value‘), ); /* 注意开头的return,当include这个文件时,返回的就是这个return返回的值 */
启发:
开发项目的时候可以借鉴,这个函数处理系统的配置还是很好用的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。