⚙️ 框架内置函数
ThinkAdmin 提供丰富的内置函数库,可在系统的任意位置直接调用,简化开发流程。
🚀 主要功能
- 全局可用: 在系统的任意位置直接调用
- 功能丰富: 提供多种实用的内置函数
- 开发简化: 简化常见操作的实现
- 性能优化: 内置函数经过性能优化
- 类型安全: 提供完整的参数类型说明
- 文档完善: 详细的函数说明和示例
📋 函数分类
数据输出函数
- p(): 打印输出数据到文件
- 数据保存: 支持保存到 Runtime 目录
- 文件管理: 支持文件替换和创建
- 调试支持: 便于开发调试和问题排查
模型操作函数
- m(): 动态创建模型对象
- 模型初始化: 支持数据初始化和连接指定
- 灵活创建: 支持动态模型创建
- 连接管理: 支持指定数据库连接
权限控制函数
- auth(): 检查用户权限节点
- 权限验证: 支持细粒度权限控制
- 安全保护: 确保系统安全性
URL 生成函数
- admuri(): 生成后台 URL 地址
- sysuri(): 生成最短 URL 地址
- 路由支持: 支持多种路由模式
数据处理函数
- encode()/decode(): UTF8 字符串加密解密
- str2arr()/arr2str(): 字符串与数组转换
- 数据安全: 提供数据安全处理
系统状态函数
- isDebug(): 判断调试模式
- isOnline(): 判断生产模式
- 环境检测: 支持环境状态检测
配置管理函数
- sysconf(): 获取或配置系统参数
- sysdata(): 数据读取与存储
- syspath(): 获取文件绝对路径
- 配置管理: 统一配置管理接口
日志记录函数
- sysoplog(): 写入系统操作日志
- 日志管理: 支持操作日志记录
- 审计支持: 提供审计追踪功能
安全防护函数
- systoken(): 生成 CSRF-TOKEN 参数
- xss_safe(): 文本内容 XSS 过滤
- 安全保护: 提供多种安全防护
网络请求函数
- http_get(): GET 网络请求
- http_post(): POST 网络请求
- 网络通信: 支持 HTTP 请求处理
文件处理函数
- down_file(): 下载远程文件到本地
- trace_file(): 输出异常数据到文件
- format_bytes(): 文件字节单位转换
- 文件管理: 提供文件处理功能
日期时间函数
- format_datetime(): 日期格式标准输出
- 时间处理: 支持多种时间格式
异步任务函数
- sysqueue(): 注册异步处理任务
- 任务管理: 支持异步任务处理
- 队列支持: 提供任务队列功能
其他实用函数
- 更多函数: 提供更多实用的内置函数
- 扩展支持: 支持函数扩展和自定义
- 兼容性: 与 ThinkPHP 框架完全兼容
打印输出数据到文件
输出数据并保存到 Runtime 目录下面的文件。
参数:
$data(mixed)
:要输出的数据。$new(bool)
:是否强制替换文件,默认为 false。$file(string|null)
:保存文件名称。如果为 null,则只输出数据而不保存到文件,默认为 null。
返回:(false
|int
):如果保存成功,则返回保存到文件的字节数;如果保存失败,则返回 false。
p( $data, bool $new = false, ?string $file = null );
动态创建模型对象
创建指定模型对象并初始化数据。
参数:
$name(string)
:模型名称。$data(array)
:初始数据,默认为空数组。$conn(string)
:指定连接,默认为空字符串。
返回: (\think\admin\Model
):返回创建的模型对象。
m( string $name, array $data=[], string $conn='' );
访问权限节点检查
检查用户是否具有指定节点的权限。
参数:
$node(?string)
:节点名称,可选参数。
返回: (boolean)
:如果用户具有指定节点的权限,则返回 true
;否则返回 false
。
// 参数 ?string $node
// 返回 boolean
auth(?string $node);
生成后台 URL 地址
快速生成后台可访问的 URI
地址,由 admin
入口及功能节点路径组成。
// 参数 string $url 路由地址
// 参数 array $vars PATH 变量
// 参数 boolean|string $suffix 后缀
// 参数 boolean|string $domain 域名
// 返回 string
admuri( string $url, array $vars, boolean|string $suffix, boolean|string $domain);
生成最短 URL 地址
生成最短可访问系统的 URL 地址,类似 ThinkPHP 带的 URL 地址。
// 参数 string $url 路由地址
// 参数 array $vars PATH 变量
// 参数 boolean|string $suffix 后缀
// 参数 boolean|string $domain 域名
// 返回 string
sysuri( string $url, array $vars, boolean|string $suffix, boolean|string $domain );
加密 UTF8 字符串
// 参数 string $content
// 返回 string
encode(string $content);
解密 UTF8 字符串
// 参数 string $content
// 返回 string
decode(string $content);
通用字符串转数组
// 参数 string $text 待转内容
// 参数 string $separ 分隔字符
// 参数 null|array $allow 限定规则
// 返回 array
str2arr(string $text, string $separ = ',', ?$allow=null);
通用数组转字符串
// 参数 string $data 待转数组
// 参数 string $separ 分隔字符
// 参数 null|array $allow 限定规则
// 返回 array
arr2str(array $data, string $separ = ',', ?$allow=null);
判断是否调试模式运行
isDebug()
判断是否产品模式运行
isOnline()
获取或配置系统参数
// 参数 string $name 参数名称
// 参数 mixed $value 参数内容
// 返回 mixed
sysconf(string $name, $value)
数据读取与存储
// JSON 数据读取与存储
// 参数 string $name 数据名称
// 参数 mixed $value 数据内容
// 返回 mixed
sysdata(string $name, $value)
获取文件绝对路径
// JSON 数据读取与存储
// 参数 string $name 数据名称
// 参数 mixed $value 数据内容
// 返回 mixed
syspath(string $name, ?string $root = null)
写入系统操作日志
// 参数 string $action 日志行为
// 参数 string $content 日志内容
// 返回 boolean
sysoplog(string $action, string $content)
生成 CSRF-TOKEN 参数
systoken();
注册异步处理任务
// 参数 string $title 任务名称
// 参数 string $command 执行内容
// 参数 integer $later 延时执行时间
// 参数 array $data 任务附加数据
// 参数 integer $rscript 任务类型(0单例,1多例)
// 参数 integer $loops 循环等待时间
// 返回 string
sysqueue(string $title, string $command, int $later=0, array $data=[], int $rscript=0, int $loops=0)
Base64 安全 URL 编码
// 参数 string $string
// 返回 string
enbase64url(string $string);
Base64 安全 URL 解码
// 参数 string $string
// 返回 string
debase64url(string $string);
文本内容XSS过滤
// 参数 string $text
// 返回 string
xss_safe(string $text);
以 get 模拟网络请求
// 参数 string $url HTTP请求URL地址
// 参数 array|string $query GET请求参数
// 参数 array $options CURL参数
// 返回 boolean|string
http_get(string $url, $query = [], array $options = []);
以 post 模拟网络请求
// 参数 string $url HTTP请求URL地址
// 参数 array|string $data POST请求数据
// 参数 array $options CURL参数
// 返回 boolean|string
http_post(string $url, $data = [], array $options = []);
数据增量保存
// 参数 Model|Query|string $dbQuery
// 参数 array $data 需要保存或更新的数据
// 参数 string $key 条件主键限制
// 参数 mixed $where 其它的where条件
// 返回 boolean|integer
data_save($dbQuery, array $data = [], string $key='id', $where = []);
下载远程文件到本地
// 参数 string $source 远程文件地址
// 参数 boolean $force 是否强制重新下载
// 参数 integer $expire 强制本地存储时间
// 返回 string
down_file(string $source, bool $force = false, int $expre = 0);
输出异常数据到文件
// 参数 \Exception $exception
// 返回 boolean
trace_file(\Exception $exception)
文件字节单位转换
// 参数 string|integer $size 字节
// 返回 string
format_bytes($size);
日期格式标准输出
// 参数 int|string $datetime 输入日期
// 参数 string $format 输出格式
// 返回 string
format_datetime($datetime, string $format = "Y年m月d日 H:i:s");