【转载】ThinkPHP3.2.3的函数汇总

时间:2022-11-26 10:29:27

ThinkPHP3.2.3的函数汇总

 原文链接

浏览:14370 发布日期:2014/04/17 分类:技术分享
本文只是将functions里面的函数汇总了一下,方便查阅

C:获取和设置配置参数 支持批量定义
  1. /**
  2.  * 获取和设置配置参数 支持批量定义
  3.  * @param string|array $name 配置变量
  4.  * @param mixed $value 配置值
  5.  * @param mixed $default 默认值
  6.  * @return mixed
  7.  */
  8. C($name=null, $value=null,$default=null)
复制代码
------------------------------------------------------------------------------------------------

load_config:加载配置文件 支持格式转换 仅支持一级配置
  1. /**
  2.  * 加载配置文件 支持格式转换 仅支持一级配置
  3.  * @param string $file 配置文件名
  4.  * @param string $parse 配置解析方法 有些格式需要用户自己解析
  5.  * @return void
  6.  */
  7. load_config($file,$parse=CONF_PARSE)
复制代码
------------------------------------------------------------------------------------------------

E:抛出异常处理
  1. /**
  2.  * 抛出异常处理
  3.  * @param string $msg 异常消息
  4.  * @param integer $code 异常代码 默认为0
  5.  * @return void
  6.  */
  7. E($msg, $code=0)
复制代码
------------------------------------------------------------------------------------------------

G:记录和统计时间(微秒)和内存使用情况
  1. /**
  2.  * 记录和统计时间(微秒)和内存使用情况
  3.  * 使用方法:
  4.  * <code>
  5.  * G('begin'); // 记录开始标记位
  6.  * // ... 区间运行代码
  7.  * G('end'); // 记录结束标签位
  8.  * echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位
  9.  * echo G('begin','end','m'); // 统计区间内存使用情况
  10.  * 如果end标记位没有定义,则会自动以当前作为标记位
  11.  * 其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效
  12.  * </code>
  13.  * @param string $start 开始标签
  14.  * @param string $end 结束标签
  15.  * @param integer|string $dec 小数位或者m
  16.  * @return mixed
  17.  */
  18. G($start,$end='',$dec=4)
复制代码
------------------------------------------------------------------------------------------------

L:获取和设置语言定义(不区分大小写)
  1. /**
  2.  * 获取和设置语言定义(不区分大小写)
  3.  * @param string|array $name 语言变量
  4.  * @param mixed $value 语言值或者变量
  5.  * @return mixed
  6.  */
  7. L($name=null, $value=null)
复制代码
------------------------------------------------------------------------------------------------

trace:添加和获取页面Trace记录
  1. /**
  2.  * 添加和获取页面Trace记录
  3.  * @param string $value 变量
  4.  * @param string $label 标签
  5.  * @param string $level 日志级别
  6.  * @param boolean $record 是否记录日志
  7.  * @return void
  8.  */
  9. trace($value='[think]',$label='',$level='DEBUG',$record=false)
复制代码
------------------------------------------------------------------------------------------------

compile:编译文件
  1. /**
  2.  * 编译文件
  3.  * @param string $filename 文件名
  4.  * @return string
  5.  */
  6. compile($filename)
复制代码
------------------------------------------------------------------------------------------------

T:获取模版文件 格式 资源://模块@主题/控制器/操作
  1. /**
  2.  * 获取模版文件 格式 资源://模块@主题/控制器/操作
  3.  * @param string $name 模版资源地址
  4.  * @param string $layer 视图层(目录)名称
  5.  * @return string
  6.  */
  7. T($template='',$layer='')
复制代码
------------------------------------------------------------------------------------------------

I:获取输入参数 支持过滤和默认值
  1. /**
  2.  * 获取输入参数 支持过滤和默认值
  3.  * 使用方法:
  4.  * <code>
  5.  * I('id',0); 获取id参数 自动判断get或者post
  6.  * I('post.name','','htmlspecialchars'); 获取$_POST['name']
  7.  * I('get.'); 获取$_GET
  8.  * </code>
  9.  * @param string $name 变量的名称 支持指定类型
  10.  * @param mixed $default 不存在的时候默认值
  11.  * @param mixed $filter 参数过滤方法
  12.  * @param mixed $datas 要获取的额外数据源
  13.  * @return mixed
  14.  */
  15. I($name,$default='',$filter=null,$datas=null)
复制代码
------------------------------------------------------------------------------------------------

array_map_recursive
  1. /**
  2.  * 暂无注释
  3.  */
  4. array_map_recursive($filter, $data)
复制代码
------------------------------------------------------------------------------------------------

N:设置和获取统计数据
  1. /**
  2.  * 设置和获取统计数据
  3.  * 使用方法:
  4.  * <code>
  5.  * N('db',1); // 记录数据库操作次数
  6.  * N('read',1); // 记录读取次数
  7.  * echo N('db'); // 获取当前页面数据库的所有操作次数
  8.  * echo N('read'); // 获取当前页面读取次数
  9.  * </code>
  10.  * @param string $key 标识位置
  11.  * @param integer $step 步进值
  12.  * @return mixed
  13.  */
  14. N($key, $step=0,$save=false)
复制代码
------------------------------------------------------------------------------------------------

parse_name:字符串命名风格转换
  1. /**
  2.  * 字符串命名风格转换
  3.  * type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格
  4.  * @param string $name 字符串
  5.  * @param integer $type 转换类型
  6.  * @return string
  7.  */
  8. parse_name($name, $type=0)
复制代码
------------------------------------------------------------------------------------------------

require_cache:优化的require_once
  1. /**
  2.  * 优化的require_once
  3.  * @param string $filename 文件地址
  4.  * @return boolean
  5.  */
  6. require_cache($filename)
复制代码
------------------------------------------------------------------------------------------------

file_exists_case:区分大小写的文件存在判断
  1. /**
  2.  * 区分大小写的文件存在判断
  3.  * @param string $filename 文件地址
  4.  * @return boolean
  5.  */
  6. file_exists_case($filename)
复制代码
------------------------------------------------------------------------------------------------

import:导入所需的类库 同java的Import 本函数有缓存功能
  1. /**
  2.  * 导入所需的类库 同java的Import 本函数有缓存功能
  3.  * @param string $class 类库命名空间字符串
  4.  * @param string $baseUrl 起始路径
  5.  * @param string $ext 导入的文件扩展名
  6.  * @return boolean
  7.  */
  8. import($class, $baseUrl = '', $ext=EXT)
复制代码
------------------------------------------------------------------------------------------------

load:基于命名空间方式导入函数库
  1. /**
  2.  * 基于命名空间方式导入函数库
  3.  * load('@.Util.Array')
  4.  * @param string $name 函数库命名空间字符串
  5.  * @param string $baseUrl 起始路径
  6.  * @param string $ext 导入的文件扩展名
  7.  * @return void
  8.  */
  9. load($name, $baseUrl='', $ext='.php')
复制代码
------------------------------------------------------------------------------------------------

vendor:快速导入第三方框架类库
  1. /**
  2.  * 快速导入第三方框架类库 所有第三方框架的类库文件统一放到 系统的Vendor目录下面
  3.  * @param string $class 类库
  4.  * @param string $baseUrl 基础目录
  5.  * @param string $ext 类库后缀
  6.  * @return boolean
  7.  */
  8. vendor($class, $baseUrl = '', $ext='.php')
复制代码
------------------------------------------------------------------------------------------------

D:实例化模型类 格式 [资源://][模块/]模型
  1. /**
  2.  * 实例化模型类 格式 [资源://][模块/]模型
  3.  * @param string $name 资源地址
  4.  * @param string $layer 模型层名称
  5.  * @return Model
  6.  */
  7. D($name='',$layer='')
复制代码
------------------------------------------------------------------------------------------------

M:实例化一个没有模型文件的Model
  1. /**
  2.  * 实例化一个没有模型文件的Model
  3.  * @param string $name Model名称 支持指定基础模型 例如 MongoModel:User
  4.  * @param string $tablePrefix 表前缀
  5.  * @param mixed $connection 数据库连接信息
  6.  * @return Model
  7.  */
  8. M($name='', $tablePrefix='',$connection='')
复制代码
------------------------------------------------------------------------------------------------

parse_res_name:解析资源地址并导入类库文件
  1. /**
  2.  * 解析资源地址并导入类库文件
  3.  * 例如 module/controller addon://module/behavior
  4.  * @param string $name 资源地址 格式:[扩展://][模块/]资源名
  5.  * @param string $layer 分层名称
  6.  * @return string
  7.  */
  8. parse_res_name($name,$layer,$level=1)
复制代码
------------------------------------------------------------------------------------------------

controller:用于实例化访问控制器
  1. /**
  2.  * 用于实例化访问控制器
  3.  * @param string $name 控制器名
  4.  * @param string $path 控制器命名空间(路径)
  5.  * @return Controller|false
  6.  */
  7. controller($name,$path='')
复制代码
------------------------------------------------------------------------------------------------

A:实例化多层控制器 格式:[资源://][模块/]控制器
  1. /**
  2.  * 实例化多层控制器 格式:[资源://][模块/]控制器
  3.  * @param string $name 资源地址
  4.  * @param string $layer 控制层名称
  5.  * @param integer $level 控制器层次
  6.  * @return Controller|false
  7.  */
  8. A($name,$layer='',$level='')
复制代码
------------------------------------------------------------------------------------------------

R:远程调用控制器的操作方法 URL 参数格式 [资源://][模块/]控制器/操作
  1. /**
  2.  * 远程调用控制器的操作方法 URL 参数格式 [资源://][模块/]控制器/操作
  3.  * @param string $url 调用地址
  4.  * @param string|array $vars 调用参数 支持字符串和数组
  5.  * @param string $layer 要调用的控制层名称
  6.  * @return mixed
  7.  */
  8. R($url,$vars=array(),$layer='')
复制代码
------------------------------------------------------------------------------------------------

tag:处理标签扩展
  1. /**
  2.  * 处理标签扩展
  3.  * @param string $tag 标签名称
  4.  * @param mixed $params 传入参数
  5.  * @return mixed
  6.  */
  7. tag($tag, &$params=NULL)
复制代码
------------------------------------------------------------------------------------------------

B:执行某个行为
  1. /**
  2.  * 执行某个行为
  3.  * @param string $name 行为名称
  4.  * @param string $tag 标签名称(行为类无需传入) 
  5.  * @param Mixed $params 传入的参数
  6.  * @return void
  7.  */
  8. B($name, $tag='',&$params=NULL)
复制代码
------------------------------------------------------------------------------------------------

strip_whitespace:去除代码中的空白和注释
  1. /**
  2.  * 去除代码中的空白和注释
  3.  * @param string $content 代码内容
  4.  * @return string
  5.  */
  6. strip_whitespace($content)
复制代码
------------------------------------------------------------------------------------------------

throw_exception:自定义异常处理
  1. /**
  2.  * 自定义异常处理
  3.  * @param string $msg 异常消息
  4.  * @param string $type 异常类型 默认为Think\Exception
  5.  * @param integer $code 异常代码 默认为0
  6.  * @return void
  7.  */
  8. throw_exception($msg, $type='Think\\Exception', $code=0)
复制代码
------------------------------------------------------------------------------------------------

dump:浏览器友好的变量输出
  1. /**
  2.  * 浏览器友好的变量输出
  3.  * @param mixed $var 变量
  4.  * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串
  5.  * @param string $label 标签 默认为空
  6.  * @param boolean $strict 是否严谨 默认为true
  7.  * @return void|string
  8.  */
  9. dump($var, $echo=true, $label=null, $strict=true)
复制代码
------------------------------------------------------------------------------------------------

layout:设置当前页面的布局
  1. /**
  2.  * 设置当前页面的布局
  3.  * @param string|false $layout 布局名称 为false的时候表示关闭布局
  4.  * @return void
  5.  */
  6. layout($layout)
复制代码
------------------------------------------------------------------------------------------------

U:URL组装 支持不同URL模式
  1. /**
  2.  * URL组装 支持不同URL模式
  3.  * @param string $url URL表达式,格式:'[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...'
  4.  * @param string|array $vars 传入的参数,支持数组和字符串
  5.  * @param string $suffix 伪静态后缀,默认为true表示获取配置值
  6.  * @param boolean $domain 是否显示域名
  7.  * @return string
  8.  */
  9. U($url='',$vars='',$suffix=true,$domain=false)
复制代码
------------------------------------------------------------------------------------------------

W:渲染输出Widget
  1. /**
  2.  * 渲染输出Widget
  3.  * @param string $name Widget名称
  4.  * @param array $data 传入的参数
  5.  * @return void
  6.  */
  7. W($name, $data=array())
复制代码
------------------------------------------------------------------------------------------------

is_ssl:判断是否SSL协议
  1. /**
  2.  * 判断是否SSL协议
  3.  * @return boolean
  4.  */
  5. is_ssl()
复制代码
------------------------------------------------------------------------------------------------

redirect:URL重定向
  1. /**
  2.  * URL重定向
  3.  * @param string $url 重定向的URL地址
  4.  * @param integer $time 重定向的等待时间(秒)
  5.  * @param string $msg 重定向前的提示信息
  6.  * @return void
  7.  */
  8. redirect($url, $time=0, $msg='')
复制代码
------------------------------------------------------------------------------------------------

S:缓存管理
  1. /**
  2.  * 缓存管理
  3.  * @param mixed $name 缓存名称,如果为数组表示进行缓存设置
  4.  * @param mixed $value 缓存值
  5.  * @param mixed $options 缓存参数
  6.  * @return mixed
  7.  */
  8. S($name,$value='',$options=null)
复制代码
------------------------------------------------------------------------------------------------

F:快速文件数据读取和保存 针对简单类型数据 字符串、数组
  1. /**
  2.  * 快速文件数据读取和保存 针对简单类型数据 字符串、数组
  3.  * @param string $name 缓存名称
  4.  * @param mixed $value 缓存值
  5.  * @param string $path 缓存路径
  6.  * @return mixed
  7.  */
  8. F($name, $value='', $path=DATA_PATH)
复制代码
------------------------------------------------------------------------------------------------

to_guid_string:根据PHP各种类型变量生成唯一标识号
  1. /**
  2.  * 根据PHP各种类型变量生成唯一标识号
  3.  * @param mixed $mix 变量
  4.  * @return string
  5.  */
  6. to_guid_string($mix)
复制代码
------------------------------------------------------------------------------------------------

xml_encode:xml编码
  1. /**
  2.  * XML编码
  3.  * @param mixed $data 数据
  4.  * @param string $root 根节点名
  5.  * @param string $item 数字索引的子节点名
  6.  * @param string $attr 根节点属性
  7.  * @param string $id   数字索引子节点key转换的属性名
  8.  * @param string $encoding 数据编码
  9.  * @return string
  10.  */
  11. xml_encode($data, $root='think', $item='item', $attr='', $id='id', $encoding='utf-8')
复制代码
------------------------------------------------------------------------------------------------

data_to_xml:数据xml编码
  1. /**
  2.  * 数据XML编码
  3.  * @param mixed  $data 数据
  4.  * @param string $item 数字索引时的节点名称
  5.  * @param string $id   数字索引key转换为的属性名
  6.  * @return string
  7.  */
  8. data_to_xml($data, $item='item', $id='id')
复制代码
------------------------------------------------------------------------------------------------

session:session管理函数
  1. /**
  2.  * session管理函数
  3.  * @param string|array $name session名称 如果为数组则表示进行session设置
  4.  * @param mixed $value session值
  5.  * @return mixed
  6.  */
  7. session($name='',$value='')
复制代码
------------------------------------------------------------------------------------------------

cookie:Cookie 设置、获取、删除
  1. /**
  2.  * Cookie 设置、获取、删除
  3.  * @param string $name cookie名称
  4.  * @param mixed $value cookie值
  5.  * @param mixed $options cookie参数
  6.  * @return mixed
  7.  */
  8. cookie($name='', $value='', $option=null)
复制代码
------------------------------------------------------------------------------------------------

load_ext_file:加载动态扩展文件
  1. /**
  2.  * 加载动态扩展文件
  3.  * @return void
  4.  */
  5. load_ext_file($path)
复制代码
------------------------------------------------------------------------------------------------

get_client_ip:获取客户端IP地址
  1. /**
  2.  * 获取客户端IP地址
  3.  * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
  4.  * @param boolean $adv 是否进行高级模式获取(有可能被伪装) 
  5.  * @return mixed
  6.  */
  7. get_client_ip($type = 0,$adv=false)
复制代码
------------------------------------------------------------------------------------------------

send_http_status:发送HTTP状态
  1. /**
  2.  * 发送HTTP状态
  3.  * @param integer $code 状态码
  4.  * @return void
  5.  */
  6. send_http_status($code)
复制代码
------------------------------------------------------------------------------------------------

filter_exp:过滤表单中的表达式
  1. // 过滤表单中的表达式
  2. filter_exp(&$value)
复制代码
------------------------------------------------------------------------------------------------

in_array_case:不区分大小写的in_array实现
    1. // 不区分大小写的in_array实现
    2. in_array_case($value,$array)