ThinkPHP内置函数详解D、F、S、C、L、A、I

单字母函数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) {}

 

你可能感兴趣的:(thinkphp)