单字母函数D、F、S、C、L、A、I 他们都在ThinkPHP核心的ThinkPHP/Mode/Api/functions.php这个文件中定义.
下面我分别说明一下他们的功能:
D() 加载Model类
M() 加载Model类
A() 加载Action类
L() 获取语言定义
C() 获取配置值 用法就是 C("这里填写在配置文件里数组的下标")
S() 全局缓存配置 用法S(“这里相当于一个唯一的标识”)
F() 快速文件数据读取和保存 针对简单类型数据 字符串、数组
I() 快速创建一个对象实例
此处附带:ThinkPHP内置所有函数的原型定义
1 <?php 2 3 /** 4 * Think API模式函数库 5 */ 6 7 /** 8 * 获取和设置配置参数 支持批量定义 9 * @param string|array $name 配置变量 10 * @param mixed $value 配置值 11 * @param mixed $default 默认值 12 * @return mixed 13 */ 14 function C($name=null, $value=null,$default=null) {} 15 16 /** 17 * 加载配置文件 支持格式转换 仅支持一级配置 18 * @param string $file 配置文件名 19 * @param string $parse 配置解析方法 有些格式需要用户自己解析 20 * @return void 21 */ 22 function load_config($file,$parse=CONF_PARSE) {} 23 24 /** 25 * 抛出异常处理 26 * @param string $msg 异常消息 27 * @param integer $code 异常代码 默认为0 28 * @return void 29 */ 30 function E($msg, $code=0) {} 31 32 /** 33 * 记录和统计时间(微秒)和内存使用情况 34 * 使用方法: 35 * <code> 36 * G('begin'); // 记录开始标记位 37 * // ... 区间运行代码 38 * G('end'); // 记录结束标签位 39 * echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位 40 * echo G('begin','end','m'); // 统计区间内存使用情况 41 * 如果end标记位没有定义,则会自动以当前作为标记位 42 * 其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效 43 * </code> 44 * @param string $start 开始标签 45 * @param string $end 结束标签 46 * @param integer|string $dec 小数位或者m 47 * @return mixed 48 */ 49 function G($start,$end='',$dec=4) {} 50 51 /** 52 * 获取和设置语言定义(不区分大小写) 53 * @param string|array $name 语言变量 54 * @param string $value 语言值 55 * @return mixed 56 */ 57 function L($name=null, $value=null) {} 58 59 /** 60 * 添加和获取页面Trace记录 61 * @param string $value 变量 62 * @param string $label 标签 63 * @param string $level 日志级别 64 * @param boolean $record 是否记录日志 65 * @return void 66 */ 67 function trace($value='[think]',$label='',$level='DEBUG',$record=false) {} 68 69 /** 70 * 编译文件 71 * @param string $filename 文件名 72 * @return string 73 */ 74 function compile($filename) {} 75 76 /** 77 * 获取输入参数 支持过滤和默认值 78 * 使用方法: 79 * <code> 80 * I('id',0); 获取id参数 自动判断get或者post 81 * I('post.name','','htmlspecialchars'); 获取$_POST['name'] 82 * I('get.'); 获取$_GET 83 * </code> 84 * @param string $name 变量的名称 支持指定类型 85 * @param mixed $default 不存在的时候默认值 86 * @param mixed $filter 参数过滤方法 87 * @return mixed 88 */ 89 function I($name,$default='',$filter=null) {} 90 91 /** 92 * 设置和获取统计数据 93 * 使用方法: 94 * <code> 95 * N('db',1); // 记录数据库操作次数 96 * N('read',1); // 记录读取次数 97 * echo N('db'); // 获取当前页面数据库的所有操作次数 98 * echo N('read'); // 获取当前页面读取次数 99 * </code> 100 * @param string $key 标识位置 101 * @param integer $step 步进值 102 * @return mixed 103 */ 104 function N($key, $step=0,$save=false) {} 105 106 /** 107 * 字符串命名风格转换 108 * type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格 109 * @param string $name 字符串 110 * @param integer $type 转换类型 111 * @return string 112 */ 113 function parse_name($name, $type=0) {} 114 115 /** 116 * 优化的require_once 117 * @param string $filename 文件地址 118 * @return boolean 119 */ 120 function require_cache($filename) {} 121 122 /** 123 * 区分大小写的文件存在判断 124 * @param string $filename 文件地址 125 * @return boolean 126 */ 127 function file_exists_case($filename) {} 128 129 /** 130 * 导入所需的类库 同java的Import 本函数有缓存功能 131 * @param string $class 类库命名空间字符串 132 * @param string $baseUrl 起始路径 133 * @param string $ext 导入的文件扩展名 134 * @return boolean 135 */ 136 function import($class, $baseUrl = '', $ext=EXT) {} 137 138 /** 139 * 基于命名空间方式导入函数库 140 * load('@.Util.Array') 141 * @param string $name 函数库命名空间字符串 142 * @param string $baseUrl 起始路径 143 * @param string $ext 导入的文件扩展名 144 * @return void 145 */ 146 function load($name, $baseUrl='', $ext='.php') {} 147 148 /** 149 * 快速导入第三方框架类库 所有第三方框架的类库文件统一放到 系统的Vendor目录下面 150 * @param string $class 类库 151 * @param string $baseUrl 基础目录 152 * @param string $ext 类库后缀 153 * @return boolean 154 */ 155 function vendor($class, $baseUrl = '', $ext='.php') {} 156 157 /** 158 * D函数用于实例化模型类 格式 [资源://][模块/]模型 159 * @param string $name 资源地址 160 * @param string $layer 模型层名称 161 * @return Model 162 */ 163 function D($name='',$layer='') {} 164 165 /** 166 * M函数用于实例化一个没有模型文件的Model 167 * @param string $name Model名称 支持指定基础模型 例如 MongoModel:User 168 * @param string $tablePrefix 表前缀 169 * @param mixed $connection 数据库连接信息 170 * @return Model 171 */ 172 function M($name='', $tablePrefix='',$connection='') {} 173 174 /** 175 * 解析资源地址并导入类库文件 176 * 例如 module/controller addon://module/behavior 177 * @param string $name 资源地址 格式:[扩展://][模块/]资源名 178 * @param string $layer 分层名称 179 * @return string 180 */ 181 function parse_res_name($name,$layer,$level=1) {} 182 183 /** 184 * A函数用于实例化控制器 格式:[资源://][模块/]控制器 185 * @param string $name 资源地址 186 * @param string $layer 控制层名称 187 * @param integer $level 控制器层次 188 * @return Controller|false 189 */ 190 function A($name,$layer='',$level='') {} 191 192 /** 193 * 远程调用控制器的操作方法 URL 参数格式 [资源://][模块/]控制器/操作 194 * @param string $url 调用地址 195 * @param string|array $vars 调用参数 支持字符串和数组 196 * @param string $layer 要调用的控制层名称 197 * @return mixed 198 */ 199 function R($url,$vars=array(),$layer='') {} 200 201 /** 202 * 执行某个行为 203 * @param string $name 行为名称 204 * @param Mixed $params 传入的参数 205 * @return void 206 */ 207 function B($name, &$params=NULL) {} 208 209 /** 210 * 去除代码中的空白和注释 211 * @param string $content 代码内容 212 * @return string 213 */ 214 function strip_whitespace($content) {} 215 216 /** 217 * 浏览器友好的变量输出 218 * @param mixed $var 变量 219 * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串 220 * @param string $label 标签 默认为空 221 * @param boolean $strict 是否严谨 默认为true 222 * @return void|string 223 */ 224 function dump($var, $echo=true, $label=null, $strict=true) {} 225 226 /** 227 * URL重定向 228 * @param string $url 重定向的URL地址 229 * @param integer $time 重定向的等待时间(秒) 230 * @param string $msg 重定向前的提示信息 231 * @return void 232 */ 233 function redirect($url, $time=0, $msg='') {} 234 235 /** 236 * 缓存管理 237 * @param mixed $name 缓存名称,如果为数组表示进行缓存设置 238 * @param mixed $value 缓存值 239 * @param mixed $options 缓存参数 240 * @return mixed 241 */ 242 function S($name,$value='',$options=null) {} 243 244 /** 245 * 快速文件数据读取和保存 针对简单类型数据 字符串、数组 246 * @param string $name 缓存名称 247 * @param mixed $value 缓存值 248 * @param string $path 缓存路径 249 * @return mixed 250 */ 251 function F($name, $value='', $path=DATA_PATH) {} 252 253 /** 254 * 根据PHP各种类型变量生成唯一标识号 255 * @param mixed $mix 变量 256 * @return string 257 */ 258 function to_guid_string($mix) {} 259 260 /** 261 * XML编码 262 * @param mixed $data 数据 263 * @param string $root 根节点名 264 * @param string $item 数字索引的子节点名 265 * @param string $attr 根节点属性 266 * @param string $id 数字索引子节点key转换的属性名 267 * @param string $encoding 数据编码 268 * @return string 269 */ 270 function xml_encode($data, $root='think', $item='item', $attr='', $id='id', $encoding='utf-8') {} 271 272 /** 273 * 数据XML编码 274 * @param mixed $data 数据 275 * @param string $item 数字索引时的节点名称 276 * @param string $id 数字索引key转换为的属性名 277 * @return string 278 */ 279 function data_to_xml($data, $item='item', $id='id') {} 280 281 /** 282 * session管理函数 283 * @param string|array $name session名称 如果为数组则表示进行session设置 284 * @param mixed $value session值 285 * @return mixed 286 */ 287 function session($name,$value='') {} 288 /** 289 * Cookie 设置、获取、删除 290 * @param string $name cookie名称 291 * @param mixed $value cookie值 292 * @param mixed $options cookie参数 293 * @return mixed 294 */ 295 function cookie($name, $value='', $option=null) {} 296 297 /** 298 * 加载动态扩展文件 299 * @return void 300 */ 301 function load_ext_file($path) {} 302 /** 303 * 获取客户端IP地址 304 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 305 * @return mixed 306 */ 307 function get_client_ip($type = 0) {} 308 309 /** 310 * 发送HTTP状态 311 * @param integer $code 状态码 312 * @return void 313 */ 314 function send_http_status($code) {} 315 316 // 过滤表单中的表达式 317 function filter_exp(&$value) {} 318 319 // 不区分大小写的in_array实现 320 function in_array_case($value,$array) {}