ThinkPHP/Commonfunctions.php

Think 系统函数库

Functions

C()

C(string|array  $name = null, mixed  $value = null, mixed  $default = null) : mixed

获取和设置配置参数 支持批量定义

Parameters

string|array $name

配置变量

mixed $value

配置值

mixed $default

默认值

Returns

mixed

load_config()

load_config(string  $file, string  $parse = CONF_PARSE) : void

加载配置文件 支持格式转换 仅支持一级配置

Parameters

string $file

配置文件名

string $parse

配置解析方法 有些格式需要用户自己解析

yaml_parse_file()

yaml_parse_file(  $file) 

Parameters

$file

E()

E(string  $msg, integer  $code) : void

抛出异常处理

Parameters

string $msg

异常消息

integer $code

异常代码 默认为0

G()

G(string  $start, string  $end = '', integer|string  $dec = 4) : mixed

记录和统计时间(微秒)和内存使用情况 使用方法: <code> G('begin'); // 记录开始标记位 // .

.. 区间运行代码 G('end'); // 记录结束标签位 echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位 echo G('begin','end','m'); // 统计区间内存使用情况 如果end标记位没有定义,则会自动以当前作为标记位 其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效

Parameters

string $start

开始标签

string $end

结束标签

integer|string $dec

小数位或者m

Returns

mixed

L()

L(string|array  $name = null, mixed  $value = null) : mixed

获取和设置语言定义(不区分大小写)

Parameters

string|array $name

语言变量

mixed $value

语言值或者变量

Returns

mixed

trace()

trace(string  $value = '[think]', string  $label = '', string  $level = 'DEBUG', boolean  $record = false) : void

添加和获取页面Trace记录

Parameters

string $value

变量

string $label

标签

string $level

日志级别

boolean $record

是否记录日志

compile()

compile(string  $filename) : string

编译文件

Parameters

string $filename

文件名

Returns

string

T()

T(  $template = '', string  $layer = '') : string

获取模版文件 格式 资源://模块@主题/控制器/操作

Parameters

$template
string $layer

视图层(目录)名称

Returns

string

I()

I(string  $name, mixed  $default = '', mixed  $filter = null, mixed  $datas = null) : mixed

获取输入参数 支持过滤和默认值 使用方法: <code> I('id',0); 获取id参数 自动判断get或者post I('post.name','','htmlspecialchars'); 获取$_POST['name'] I('get.'); 获取$_GET </code>

Parameters

string $name

变量的名称 支持指定类型

mixed $default

不存在的时候默认值

mixed $filter

参数过滤方法

mixed $datas

要获取的额外数据源

Returns

mixed

array_map_recursive()

array_map_recursive(  $filter,   $data) 

Parameters

$filter
$data

N()

N(string  $key, integer  $step,   $save = false) : mixed

设置和获取统计数据 使用方法: <code> N('db',1); // 记录数据库操作次数 N('read',1); // 记录读取次数 echo N('db'); // 获取当前页面数据库的所有操作次数 echo N('read'); // 获取当前页面读取次数 </code>

Parameters

string $key

标识位置

integer $step

步进值

$save

Returns

mixed

parse_name()

parse_name(string  $name, integer  $type) : string

字符串命名风格转换 type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格

Parameters

string $name

字符串

integer $type

转换类型

Returns

string

require_cache()

require_cache(string  $filename) : boolean

优化的require_once

Parameters

string $filename

文件地址

Returns

boolean

file_exists_case()

file_exists_case(string  $filename) : boolean

区分大小写的文件存在判断

Parameters

string $filename

文件地址

Returns

boolean

import()

import(string  $class, string  $baseUrl = '', string  $ext = EXT) : boolean

导入所需的类库 同java的Import 本函数有缓存功能

Parameters

string $class

类库命名空间字符串

string $baseUrl

起始路径

string $ext

导入的文件扩展名

Returns

boolean

load()

load(string  $name, string  $baseUrl = '', string  $ext = '.php') : void

基于命名空间方式导入函数库 load('@.Util.Array')

Parameters

string $name

函数库命名空间字符串

string $baseUrl

起始路径

string $ext

导入的文件扩展名

vendor()

vendor(string  $class, string  $baseUrl = '', string  $ext = '.php') : boolean

快速导入第三方框架类库 所有第三方框架的类库文件统一放到 系统的Vendor目录下面

Parameters

string $class

类库

string $baseUrl

基础目录

string $ext

类库后缀

Returns

boolean

D()

D(string  $name = '', string  $layer = '') : \Model

实例化模型类 格式 [资源://][模块/]模型

Parameters

string $name

资源地址

string $layer

模型层名称

Returns

\Model

M()

M(string  $name = '', string  $tablePrefix = '', mixed  $connection = '') : \Model

实例化一个没有模型文件的Model

Parameters

string $name

Model名称 支持指定基础模型 例如 MongoModel:User

string $tablePrefix

表前缀

mixed $connection

数据库连接信息

Returns

\Model

parse_res_name()

parse_res_name(string  $name, string  $layer,   $level = 1) : string

解析资源地址并导入类库文件 例如 module/controller addon://module/behavior

Parameters

string $name

资源地址 格式:[扩展://][模块/]资源名

string $layer

分层名称

$level

Returns

string

controller()

controller(string  $name, string  $path = '') : \Controller|false

用于实例化访问控制器

Parameters

string $name

控制器名

string $path

控制器命名空间(路径)

Returns

\Controller|false

A()

A(string  $name, string  $layer = '', integer  $level = '') : \Controller|false

实例化多层控制器 格式:[资源://][模块/]控制器

Parameters

string $name

资源地址

string $layer

控制层名称

integer $level

控制器层次

Returns

\Controller|false

R()

R(string  $url, string|array  $vars = array(), string  $layer = '') : mixed

远程调用控制器的操作方法 URL 参数格式 [资源://][模块/]控制器/操作

Parameters

string $url

调用地址

string|array $vars

调用参数 支持字符串和数组

string $layer

要调用的控制层名称

Returns

mixed

tag()

tag(string  $tag, mixed  $params = NULL) : mixed

处理标签扩展

Parameters

string $tag

标签名称

mixed $params

传入参数

Returns

mixed

B()

B(string  $name, string  $tag = '', Mixed  $params = NULL) : void

执行某个行为

Parameters

string $name

行为名称

string $tag

标签名称(行为类无需传入)

Mixed $params

传入的参数

strip_whitespace()

strip_whitespace(string  $content) : string

去除代码中的空白和注释

Parameters

string $content

代码内容

Returns

string

throw_exception()

throw_exception(string  $msg, string  $type = 'Think\\Exception', integer  $code) : void

自定义异常处理

Parameters

string $msg

异常消息

string $type

异常类型 默认为Think\Exception

integer $code

异常代码 默认为0

dump()

dump(mixed  $var, boolean  $echo = true, string  $label = null, boolean  $strict = true) : void|string

浏览器友好的变量输出

Parameters

mixed $var

变量

boolean $echo

是否输出 默认为True 如果为false 则返回输出字符串

string $label

标签 默认为空

boolean $strict

是否严谨 默认为true

Returns

void|string

layout()

layout(string|false  $layout) : void

设置当前页面的布局

Parameters

string|false $layout

布局名称 为false的时候表示关闭布局

U()

U(string  $url = '', string|array  $vars = '', string  $suffix = true, boolean  $domain = false) : string

URL组装 支持不同URL模式

Parameters

string $url

URL表达式,格式:'[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...'

string|array $vars

传入的参数,支持数组和字符串

string $suffix

伪静态后缀,默认为true表示获取配置值

boolean $domain

是否显示域名

Returns

string

W()

W(string  $name, array  $data = array()) : void

渲染输出Widget

Parameters

string $name

Widget名称

array $data

传入的参数

is_ssl()

is_ssl() : boolean

判断是否SSL协议

Returns

boolean

redirect()

redirect(string  $url, integer  $time, string  $msg = '') : void

URL重定向

Parameters

string $url

重定向的URL地址

integer $time

重定向的等待时间(秒)

string $msg

重定向前的提示信息

S()

S(mixed  $name, mixed  $value = '', mixed  $options = null) : mixed

缓存管理

Parameters

mixed $name

缓存名称,如果为数组表示进行缓存设置

mixed $value

缓存值

mixed $options

缓存参数

Returns

mixed

F()

F(string  $name, mixed  $value = '', string  $path = DATA_PATH) : mixed

快速文件数据读取和保存 针对简单类型数据 字符串、数组

Parameters

string $name

缓存名称

mixed $value

缓存值

string $path

缓存路径

Returns

mixed

to_guid_string()

to_guid_string(mixed  $mix) : string

根据PHP各种类型变量生成唯一标识号

Parameters

mixed $mix

变量

Returns

string

xml_encode()

xml_encode(mixed  $data, string  $root = 'think', string  $item = 'item', string  $attr = '', string  $id = 'id', string  $encoding = 'utf-8') : string

XML编码

Parameters

mixed $data

数据

string $root

根节点名

string $item

数字索引的子节点名

string $attr

根节点属性

string $id

数字索引子节点key转换的属性名

string $encoding

数据编码

Returns

string

data_to_xml()

data_to_xml(mixed  $data, string  $item = 'item', string  $id = 'id') : string

数据XML编码

Parameters

mixed $data

数据

string $item

数字索引时的节点名称

string $id

数字索引key转换为的属性名

Returns

string

session()

session(string|array  $name = '', mixed  $value = '') : mixed

session管理函数

Parameters

string|array $name

session名称 如果为数组则表示进行session设置

mixed $value

session值

Returns

mixed

cookie()

cookie(string  $name = '', mixed  $value = '',   $option = null) : mixed

Cookie 设置、获取、删除

Parameters

string $name

cookie名称

mixed $value

cookie值

$option

Returns

mixed

load_ext_file()

load_ext_file(  $path) : void

加载动态扩展文件

Parameters

$path

get_client_ip()

get_client_ip(integer  $type, boolean  $adv = false) : mixed

获取客户端IP地址

Parameters

integer $type

返回类型 0 返回IP地址 1 返回IPV4地址数字

boolean $adv

是否进行高级模式获取(有可能被伪装)

Returns

mixed

send_http_status()

send_http_status(integer  $code) : void

发送HTTP状态

Parameters

integer $code

状态码

filter_exp()

filter_exp(  $value) 

Parameters

$value

in_array_case()

in_array_case(  $value,   $array) 

Parameters

$value
$array