函数

FastAdmin中除了自带ThinkPHP5中常用的函数以外,还额外扩展了许多非常实用的函数,可以将这些函数快速的应用于我们的开发中。

函数位置

以下是ThinkPHP5FastAdmin中定义的函数所在位置,如果你需要添加自定义函数,请参考ThinkPHP5的文档:https://www.kancloud.cn/manual/thinkphp5/182270
请勿修改FastAdminThinkPHP5定义的函数文件。

//ThinkPHP5中定义的函数所在文件
站点目录/thinkphp/helper.php
//FastAdmin中定义的函数所在文件
站点目录/application/common.php 

常用函数

生成URL地址 url

生成完整URL页面地址

参数

参数名描述默认值必选
$url页面相对URL
$varsURL参数[]
$suffix是否显示URL后缀,如htmltrue
$domain是否显示域名 或者直接传入域名false

返回值
返回经过补全后的URL地址或完整URL地址

示例

//前台模块(index/api/插件模块)
$url = url('/index/user/login'); 
//返回:/index/user/login

$url = url('/index/user/login', ['a'=>1], false, true); 
//返回:http://www.example.com/index/user/login?a=1

$url = url('/index/user/login', [], false, true); 
//返回:http://www.example.com/index/user/login

$url = url('/index/user/login', [], false, 'www.baidu.com'); 
//返回:http://www.baidu.com/index/user/login
//后台模块(admin)
$url = url('/index/user/login'); 
//返回:/x02lsfdsSf02Sap.php/index/user/login

$url = url('/index/user/login',[],false,true); 
//返回:http://www.example.com/x02lsfdsSf02Sap.php/index/user/login
//模板视图中使用
{:url('/index/user/login')}
温馨提示
URL使用受模块影响,例如在前台模块生成的是前台的地址,后台模块生成的是后台地址

补全资源地址 cdnurl

获取上传资源的CDN的地址

参数

参数名描述默认值必选
$url资源相对地址或完整路径
$domain是否显示域名 或者直接传入域名false

返回值
返回经过补全后的上传资源的URL地址

示例

$result = cdnurl('/uploads/2022/20220210/my.jpg', true); 
//返回:http://www.example.com/uploads/2022/20220210/my.jpg

$result = cdnurl('/uploads/2022/20220210/my.jpg', 'http://www.test.com'); 
//返回:http://www.test.com/uploads/2022/20220210/my.jpg
//模板视图中使用
{$item.image|cdnurl}
//返回:/uploads/20240211/32323223fds.jpg

{$item.image|cdnurl=###,true}
//返回:https://www.example/uploads/20240211/32323223fds.jpg

温馨提示

cdnurl函数无法判断资源是云存储资源还是本地资源,如果安装启用了云存储插件,cdnurl补全的是云存储的cdn地址,如果需要补全本地资源的全路径,需要手动传递第二个$domain参数为本地域名request()->domain()即可

附加关联列表数据 addtion

附加关联字段数据

参数

参数名描述默认值必选
$items需要附件关联字段数据的源二维数组
$fields关联字段的配置信息

返回值
返回经过附加关联字段数据的数组

示例1

$items = [
    ['user_id'=>1, 'content'=>'abc'],
    ['user_id'=>2, 'content'=>'def'],
];
$fields = 'user_id';
addtion($items, $fields);
//返回$items的结果如下,此时会自动附加user_name,user_name来源为fa_user表中的name数据
$items = [
    ['user_id'=>1, 'content'=>'abc', 'user_name'=>'张三'],
    ['user_id'=>2, 'content'=>'def', 'user_name'=>'李四'],
];

示例2

$items = [
    ['user_id'=>1, 'content'=>'abc', 'category_id'=>1],
    ['user_id'=>2, 'content'=>'def', 'category_id'=>2],
];
$fields = [
    'user_id',
    'category_id'
];
addtion($items, $fields);
//返回$items的结果如下,此时会自动附加user_name和category_name,user_name来源为fa_user表中的name数据,category_name来源为fa_category表中的name数据
$items = [
    ['user_id'=>1, 'content'=>'abc', 'user_name'=>'张三', 'category_name'=>'分类一'],
    ['user_id'=>2, 'content'=>'def', 'user_name'=>'李四', 'category_name'=>'分类二'],
];

示例3

$items = [
    ['user_id'=>1, 'content'=>'abc', 'category_id'=>1],
    ['user_id'=>2, 'content'=>'def', 'category_id'=>2],
];
$fields = [
    [        
        'field'=>'user_id', //关联数据字段
        'display'=>'displayname', //附加的字段名称
        'primary'=>'', //关联表主键
        'column'=>'nickname', //关联表中读取需要显示的字段
        'model'=>'', //关联模型
        'table'=>'' //关联表,关联表和关联模型二选一
    ],
    [        
        'field'=>'category_id', //关联数据字段
        'display'=>'catename', //附加的字段名称
        'primary'=>'', //关联表主键
        'column'=>'name', //关联表中读取需要显示的字段
        'model'=>'\app\common\model\Category', //关联模型
        'table'=>''//关联表,关联表和关联模型二选一
    ]
];
addtion($items, $fields);
//返回$items的结果如下,此时会自动附加displayname,displayname来源为fa_user表中的nickname数据,catename来源为fa_category表中的name数据
$items = [
    ['user_id'=>1, 'content'=>'abc', 'displayname'=>'张三', 'catename'=>'分类一'],
    ['user_id'=>2, 'content'=>'def', 'displayname'=>'李四', 'catename'=>'分类二'],
];

生成首字母图像 letter_avatar

获取首字母图像

参数

参数名描述默认值必选
$text文本字符串

返回值
返回base64的图片数据

示例

$result = letter_avatar('example'); 
//返回:data:image/svg+xml;base64......

$result = letter_avatar('中文'); 
//返回:data:image/svg+xml;base64......

跨域请求检测 check_cors_request

用于时跨域请求时的相关响应

参数

返回值
无,如果检测到不允许跨域,将会输出403响应

示例

check_cors_request();
//跨域检测读取的是application/config.php中的cors_request_domain的值,,如果检测到不允许跨域,将会输出403响应

温馨提示
此跨域仅用于处理PHP端跨域检测和判断,无法处理到请求图片、JS、字体文件的跨域问题,静态资源跨域处理,需要自行修改Nginx或Apache配置

清理XSS xss_clean

清理xss

参数

参数名描述默认值必选
$content待清理的文本内容
$is_image是否图片false

返回值
返回清理XSS后的文本内容

示例

$result = xss_clean('我是<script>alert(3);</script>示例');
//返回:我是[removed]alert&#40;3&#41;;[removed]示例

检测IP是否允许 check_ip_allowed

检测IP是否允许访问,如果检测到IP在常规管理->系统配置中配置的禁止IP中,将会输出403响应

参数

参数名描述默认值必选
$ipIP地址,不传时将使用当前请求用户的IPnull

返回值
无,如果检测到IP不允许,将会输出403响应

示例

check_ip_allowed();
//如果检测到IP不允许,将会输出403响应

生成文件后缀图片 build_suffix_image

传递文件的后缀生成相应的图片

参数

参数名描述默认值必选
$suffix文件后缀,不含.,且最长为4位
$background文字背景颜色,默认自动计算null

返回值
返回图片的SVG信息

示例

$result = build_suffix_image("jpg");
//返回 <svg version="1.1" xmlns="http://www.w3.org/2000/svg"...>...</svg>
文档最后更新时间:2024-09-12 09:43:53
著作权归应用插件开发者所有,未经许可,禁止转载、复制此文档的任何内容。