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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6
視覺化網頁開發工具