ThinkPHP内置函数详解D、F、S、C、L、A、I
发布时间:2015-10-15, 12:26:53 分类:PHP | 编辑 off 网址 | 辅助
正文 8520字数 172,995阅读
单字母函数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内置所有函数的原型定义
<?php
1
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) {}
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »