ホームページ  >  記事  >  php教程  >  ThinPHP源码分析之C函数

ThinPHP源码分析之C函数

WBOY
WBOYオリジナル
2016-06-07 11:44:271210ブラウズ

在翻看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元

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:简单的ajax封装次の記事:瀑布流JS插件