> php教程 > php手册 > 본문

ThinPHP源码分析之C函数

WBOY
풀어 주다: 2016-06-07 11:44:27
원래의
1241명이 탐색했습니다.

在翻看TP源码时发现一个C函数,我对其做了一些注释。
原文地址:http://chenlanlong8810.blog.163.com/blog/static/113899578201275103718201/
在翻看TP源码时发现一个C函数,我对其做了注释,函数定义如下:// 获取配置值<br> function C($name=null, $value=null) {<br>  //此方法是一个变量库,static变量每次都会保存下来<br>     static $_config = array();<br>     // 无参数时获取所有<br>     if (empty($name))<br>         return $_config;<br>     // 优先执行设置获取或赋值<br>     if (is_string($name)) {<br>         if (!strpos($name, '.')) {<br>             $name = strtolower($name);<br>             if (is_null($value))<br>             //若$value为不空表明是变量注册,为空表明是变量查找<br>                 return isset($_config[$name]) ? $_config[$name] : null;<br>             $_config[$name] = $value;<br>             return;<br>         }<br>         // 二维数组设置和获取支持<br>         $name = explode('.', $name);<br>         $name[0] = strtolower($name[0]);<br>         if (is_null($value))<br>             return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null;<br>         $_config[$name[0]][$name[1]] = $value;<br>         return;<br>     }<br>     // 批量设置<br>     if (is_array($name))<br>      //若$name为数组,则返回所有的配置变量<br>         return $_config = array_merge($_config, array_change_key_case($name));<br>     return null; // 避免非法参数<br> } 注意$_config变量前有static修饰,所以$_config在内存中存在于静态数据段,只要TP程序还在运行,其值将一直存在。C()函数有两种用法,若只传一个参数,表示查找常量。若传两个参数,表示常量注册。
还有一点需要说明的是include()的返回值是什么呢?
include()的返回值一般情况下要包含的文件存在则返回true,不存在则返回false。但是,当要包含的文件中有return的时候include()的返回值是所return的值而不是true OR false。

附件 C.zip ( 665 B 下载:24 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿