公共函数
在FastAdmin应用插件中可以使用应用插件的自定义函数,也可以使用FastAdmin框架中的内置函数。
自定义函数
如果我们的应用插件有自定义函数,我们可以创建一个addons/mydemo/helper.php文件,用于存放我们的自定义函数,示例如下:
<?php
if (!function_exists('mydemo_custom')) {
function mydemo_custom($str)
{
return 'test';
}
}自定义函数必须以插件标识开头,且外围添加function_exists判断。
然后我们在addons/mydemo/Mydemo.php中添加以下代码用于载入我们的自定义函数
/**
* 应用初始化
*/
public function appInit()
{
// 公共方法
require_once __DIR__ . '/helper.php';
}添加代码后需要后台管理清缓存后生效。
内置函数
FastAdmin插件系统中有内置多个公共函数用于我们进行调用,除了以下插件系统中的内置函数可以调用外,我们还可以直接调用FastAdmin框架中的内置函数,如cdnurl图片补全、addtion附加关联数据、check_cors_request跨域检测、xss_clean清理XSS 等函数,请参考文档:https://doc.fastadmin.net/doc/1263.html
addon_url
用于生成插件控制器方法的url
参数列表
| 名称 | 描述 |
|---|---|
| $url | 插件标识/控制器名/方法名 |
| $vars | 变量参数,默认为空 |
| $suffix | 是否生成后缀,默认为true |
| $domain | 域名,默认不包含域名 |
调用方法
$url1 = addon_url('mydemo/index/index');
$url2 = addon_url('mydemo/index/index', [':name'=>'myname', 'id'=>123]);
$url3 = addon_url('mydemo/index/index', [':name'=>'myname', 'id'=>123], true, true);我们可以看到第二个参数数组中有:name和id两种写法,:name在ThinkPHP5中没有这种写法的,这是FastAdmin插件系统中特有的写法。这里:name是为了配合插件管理->配置->伪静态使用的,具体使用方法可以参考伪静态章节。
返回值
以下返回值都是在未使用伪静态时返回的URL,如果使用了伪静态则返回值会不同。
/addons/mydemo/index/index
/addons/mydemo/index/index.html?id=123&name=myname
http://www.fa.com/addons/mydemo/index/index.html?id=123&name=mynameget_addon_list
获得插件列表,此函数将返回本地已安装的插件列表
调用方法
$addonList = get_addon_list();返回值
二维数组
get_addon_info
获得插件的基础信息
参数列表
| 名称 | 描述 |
|---|---|
| $name | 插件标识 |
调用方法
$addonInfo = get_addon_info('mydemo');返回值
一维数组,示例
Array
(
[name] => mydemo
[title] => 插件名称mydemo
[intro] => FastAdmin插件
[author] => yourname
[website] => https://www.fastadmin.net
[version] => 1.0.0
[state] => 1
[url] => /addons/mydemo.html
)get_addon_config
获取插件类的配置值,以键值数组的形式返回
参数列表
| 名称 | 描述 |
|---|---|
| $name | 插件标识 |
调用方法
$addonConfig = get_addon_config('mydemo');返回值
Array
(
[usernmae] => test
[password] => 123456
)
get_addon_fullconfig
获取插件类的配置数组,以二级数组的形式返回
参数列表
| 名称 | 描述 |
|---|---|
| $name | 插件标识 |
调用方法
$addonConfigList = get_addon_fullconfig('mydemo');返回值
Array
(
[0] => Array
(
[name] => usernmae
[title] => 用户名
[type] => string
[content] => Array
(
)
[value] => test
[rule] => required
[msg] =>
[tip] =>
[ok] =>
[extend] =>
)
[1] => Array
(
[name] => password
[title] => 密码
[type] => string
[content] => Array
(
)
[value] => 123456
[rule] => required
[msg] =>
[tip] =>
[ok] =>
[extend] =>
)
)get_addon_instance
获取插件的单例
参数列表
| 名称 | 描述 |
|---|---|
| $name | 插件标识 |
调用方法
$addonInstance = get_addon_instance('mydemo');返回值
addons\mydemo\Mydemo Objectset_addon_info
设置插件基础配置信息,将实时更新插件目录下的info.ini文件
参数列表
| 名称 | 描述 |
|---|---|
| $name | 插件标识 |
| $array | 配置数据 |
功能描述
调用方法
$result = set_addon_info('mydemo', ['title'=>'标题一']);返回值
bool
set_addon_config
设置插件配置信息,一般临时写入配置信息,第三个参数用于实时写入配置信息
参数列表
| 名称 | 描述 |
|---|---|
| $name | 插件标识 |
| $config | 配置数据 |
| $writefile | 是否写入配置文件,默认为true |
调用方法
$result = set_addon_config('mydemo', ['username'=>'testname']);
$result = set_addon_config('mydemo', ['username'=>'testname'], true);返回值
bool
set_addon_fullconfig
实时写入插件配置文件
参数列表
| 名称 | 描述 |
|---|---|
| $name | 插件标识 |
| $config | 配置数据,二维数组信息,一般框架内部使用,不建议调用 |
调用方法
$result = set_addon_fullconfig('mydemo', [['username'=>'testname', 'type'=>'string', ...]]);返回值
bool