系统的助手函数

Posted 徐锅的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统的助手函数相关的知识,希望对你有一定的参考价值。

系统的助手函数大致分为下面几个类型:

    • 加载和实例化
    • 数据操作
    • 日志和调试
    • 响应输出
    • 其它

加载和实例化

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);

参数:

名称 描述 默认值
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‘)}

以上是关于系统的助手函数的主要内容,如果未能解决你的问题,请参考以下文章

系统的助手函数

码农的好助手:版本管理工具git的使用

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数

jmeter函数助手(一)一行代码实现MD5加密

如何有条件地将 C 代码片段编译到我的 Perl 模块?