系统的助手函数
系统的助手函数大致分为下面几个类型:
-
- 加载和实例化
- 数据操作
- 日志和调试
- 响应输出
- 其它
加载和实例化
import:导入所需的类库 同java的Import 本函数有缓存功能
参数:
名称 | 描述 | 默认值 |
---|---|---|
class | 类库命名空间字符串 | 必须 |
baseUrl | 起始路径,留空为自动识别 | 空 |
ext | 导入的文件扩展名 | EXT常量 |
返回值:
导入成功返回true,否则返回false。
示例:
注意该方法只是导入文件,和是否有命名空间和如何实例化无关。
$result = import('org/util/Array');
vendor:导入vendor目录下的第三方类库(非命名空间)
参数:
名称 | 描述 | 默认值 |
---|---|---|
class | 要导入的类库 | 必须 |
ext | 导入的文件扩展名 | EXT常量 |
返回值:
导入成功返回true,否则返回false。
示例:
注意该方法只是导入文件,和是否有命名空间和如何实例化无关。
$result = vendor('org/util/Array');
load_trait:快速导入Traits PHP5.5以上无需调用
参数:
名称 | 描述 | 默认值 |
---|---|---|
class | 要导入的trait库 | 必须 |
ext | 类库后缀 | EXT常量 |
返回值:
导入成功返回true,否则返回false。
示例:
load_trait('controller/Jump');
model:实例化模型类(单例)
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | Model名称 | 必须 |
layer | 模型层名称 | model |
appendSuffix | 是否添加类名后缀 | false |
返回值:
模型实例
示例:
$user = model('User');
validate:实例化验证器类(单例)
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | 验证器名称 | 必须 |
layer | 验证层名称 | validate |
appendSuffix | 是否添加类名后缀 | false |
返回值:
验证器实例
示例:
$validate = validate('User');
db:实例化数据库类
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | 操作的数据表名称(不含前缀) | 必须 |
config | 数据库配置参数,数组或者字符串,留空获取配置文件中的配置 | 空 |
force | 是否强制重新连接 | true |
返回值:
数据库查询对象实例
示例:
$db = db('user');
controller:实例化控制器类
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | 控制器资源地址 [模块/]控制器 | 必须 |
layer | 控制器层名称 | controller |
appendSuffix | 是否添加类名后缀 | false |
返回值:
控制器对象实例
示例:
$user = controller('Admin/User');
action:调用模块的操作方法 参数格式 [模块/控制器/]操作
参数:
名称 | 描述 | 默认值 |
---|---|---|
url | 调用地址 | 必须 |
vars | 调用参数 支持字符串和数组 | 空 |
layer | 要调用的控制层名称 | controller |
appendSuffix | 是否添加类名后缀 | false |
返回值:
根据方法的返回值
示例:
$result = action('Admin/User/getInfo');
request:获取当前的请求对象实例(单例)
参数:
无
返回值:
\think\Request
对象实例
示例:
request()->url();
request()->param();
response:创建响应对象实例
参数:
名称 | 描述 | 默认值 |
---|---|---|
data | 响应输出数据 | 空 |
code | 输出状态码 | 200 |
header | 输出HEADER信息 | 空 |
type | 响应输出类型 | html |
返回值:
\think\response
对象实例
示例:
response($data,[],[],'json');
数据操作
session:Session操作助手函数
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | session名称,如果为数组表示进行session初始化 | 必须 |
value | session值 | 空 |
prefix | session变量前缀 | null |
返回值:
多种情况
示例:
// session初始化
session(['id'=>'think','prefix'=>'think']);
// session设置
session('name','value');
// session判断
session('?name');
// session获取
session('name');
// session删除
session('name',null);
// session清空
session(null);
cookie:Cookie操作助手函数
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | cookie名称,如果为数组表示进行cookie初始化 | 必须 |
value | cookie值 | 空 |
option | 参数 | null |
返回值:
多种情况
示例:
// cookie初始化
cookie(['expire'=>3600,'prefix'=>'think']);
// cookie设置
cookie('name','value');
// cookie判断
cookie('?name');
// cookie获取
cookie('name');
// cookie删除
cookie('name',null);
// cookie清空
cookie(null);
cache:缓存操作助手函数
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | 缓存名称,如果为数组表示进行缓存初始化 | 必须 |
value | 缓存值 | 空 |
options | 缓存参数 或者传入数字的时候为有效期 | null |
tag | 缓存标签 | null |
返回值:
多种情况
示例:
// 缓存初始化
cache(['expire'=>3600,'prefix'=>'think']);
// 缓存设置
cache('name','value',3600);
// 缓存判断
cache('?name');
// 缓存获取
cache('name');
// 缓存删除
cache('name',null);
config:设置或者获取配置参数
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | 参数名 如果是数组表示批量赋值 | 必须 |
value | 参数值 | 空 |
range | 作用域,留空表示当前作用域 | 空 |
返回值:
根据情况
示例:
config('name','value');
config('?name');
config('name');
config(['name'=>'value']);
input:获取输入数据 支持默认值和过滤
参数:
名称 | 描述 | 默认值 |
---|---|---|
key | 获取的变量名 | 必须 |
default | 默认值 | 空 |
filter | 过滤方法 | 空 |
返回值:
根据情况
示例:
input('name');
input('?name');
input('get.id',0);
日志和调试
dump:浏览器友好的变量输出
参数:
名称 | 描述 | 默认值 |
---|---|---|
var | 调试变量或者信息 | 必须 |
echo | 是否输出 默认为true 如果为false 则返回输出字符串 | true |
label | 标签 | 空 |
返回值:
无
示例:
dump($data);
dump($data,false);
dump('测试输出');
halt:调试变量并中止
和dump函数的区别在于调试输出后中止执行后面的程序。
参数:
名称 | 描述 | 默认值 |
---|---|---|
var | 调试变量或者信息 | 必须 |
返回值:
无
示例:
halt($data);
halt('测试输出');
trace:记录日志信息
参数:
名称 | 描述 | 默认值 |
---|---|---|
log | log信息 支持字符串和数组 | |
level | 日志级别 | log |
返回值:
没有传任何参数的时候 获取日志信息,否则为记录日志
示例:
trace('日志错误信息','error');
exception:抛出异常
参数:
名称 | 描述 | 默认值 |
---|---|---|
msg | 异常消息 | 必须 |
code | 异常代码 | 0 |
exception | 异常类名 留空抛出 \think\Exception 异常 |
空 |
返回值:
字符串
示例:
exception('错误');
exception('权限错误',10002,'\app\common\AuthException');
debug:调试时间(微秒)和内存使用情况
参数:
名称 | 描述 | 默认值 |
---|---|---|
start | 开始标签 | 必须 |
end | 结束标签 | 空字符串 |
dec | 小数位 如果是m 表示统计内存占用 | 6 |
返回值:
根据情况
示例:
debug('begin');
// ...
echo debug('begin','end',6);
echo debug('begin','end','m');
响应输出
view:模板渲染输出
参数:
名称 | 描述 | 默认值 |
---|---|---|
template | 模板文件 | 空 |
vars | 模板变量 | 无 |
replace | 模板替换规则 | 空 |
code | 状态码 | 200 |
返回值:
\think\response\View
对象实例
示例:
view('index/hello',['name'=>'thinkphp']);
json:创建JSON响应对象实例
参数:
名称 | 描述 | 默认值 |
---|---|---|
data | 响应输出数据 | 空 |
code | 输出状态码 | 200 |
header | 输出头信息 | 空 |
options | 输出参数 | 空 |
返回值:
\think\response\Json
对象实例
示例:
json(['id'=>10, 'name'=>'thinkphp']);
jsonp:创建JSONP响应对象实例
参数:
名称 | 描述 | 默认值 |
---|---|---|
data | 响应输出数据 | 空 |
code | 输出状态码 | 200 |
header | 输出头信息 | 空 |
options | 输出参数 | 空 |
返回值:
\think\response\Jsonp
对象实例
示例:
jsonp(['id'=>10, 'name'=>'thinkphp']);
xml:创建XML响应对象实例
参数:
名称 | 描述 | 默认值 |
---|---|---|
data | 响应输出数据 | 空 |
code | 输出状态码 | 200 |
header | 输出头信息 | 空 |
options | 输出参数 | 空 |
返回值:
\think\response\Xml
对象实例
示例:
xml(['id'=>10, 'name'=>'thinkphp']);
redirect:创建重定向响应对象实例
参数:
名称 | 描述 | 默认值 |
---|---|---|
url | 重定向地址 | 空 |
params | 参数,当传入数字的时候表示状态码 | 空 |
code | 状态码 | 302 |
返回值:
\think\response\Redirect
对象实例
示例:
redirect('http://thinkphp.cn', ['id'=>10, 'name'=>'thinkphp'],301);
redirect('http://thinkphp.cn/blog', 301);
abort:抛出HTTP异常
参数:
名称 | 描述 | 默认值 |
---|---|---|
code | 状态码 或者 Response对象实例 | 必须 |
message | 错误信息 | 空 |
header | 参数 | 空 |
返回值:
无
示例:
abort(401, '页面不存在');
abort(500, '服务器错误');
其它
token:生成表单令牌(form表单项)
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | 令牌名称 | token |
type | 令牌生成方法 | md5 |
返回值:
字符串
示例:
<form action="" >
<input type="text" name="name" />
{:token('__hash__')}
<input type="submit" />
</form>
url:生成URL地址(支持路由反解)
参数:
名称 | 描述 | 默认值 |
---|---|---|
url | 路由地址 | 空 |
vars | 变量 | 空 |
suffix | 生成的URL后缀 | true 表示自动识别配置 |
domain | 是否带域名生成 | false |
返回值:
字符串
示例:
url('index/index/hello',['name'=>'thinkphp']);
url('index/index/hello','name&thinkphp');
在模板文件中调用可以使用
{:url('index/index/hello',['name'=>'thinkphp'])}
lang:获取语言变量值
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | 语言变量名 | 必须 |
vars | 动态变量值 | 空 |
lang | 语言 留空自动识别当前语言 | 空 |
返回值:
字符串
示例:
lang('lang_str');
widget:渲染输出Widget
参数:
名称 | 描述 | 默认值 |
---|---|---|
name | Widget名称 | 必须 |
data | 传入的参数 | 空 |
返回值:
根据情况
示例:
通常在模板文件中调用
{:widget('name')}