🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 自定义函数 插件目录`根目录/addons/mydemo`创建一个`function.php`自定义函数文件 然后在核心文件Mydemo.php中添加一个钩子方法 ``` //此钩子方法函数需要全局调用 public function appInit() { if (is_file(ADDON_PATH . 'mydemo' . DS . 'function.php')) { include_once ADDON_PATH . 'mydemo' . DS . 'function.php'; } } ``` ## addon\_url 用于生成插件控制器方法的url ### 参数列表 | 名称 | 描述 | | --- | --- | | $url | 插件标识/控制器名/方法名 | | $vars | 变量参数,默认为空 | | $suffix | 是否生成后缀,默认为true | | $domain | 域名,默认不包含域名 | ### 调用方法 ~~~bash $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); ~~~ ## get\_addon\_list() 获得插件列表,此函数将返回本地已安装的插件列表 ***** ## get\_addon\_info($name) 获得插件的基础信息 ### 参数列表 | 名称 | 描述 | | --- | --- | | $name | 插件标识 | ***** ## get\_addon\_config($name) 获取插件类的配置值,以键值数组的形式返回 ### 参数列表 | 名称 | 描述 | | --- | --- | | $name | 插件标识 | ***** ## get\_addon\_fullconfig($name) 获取插件类的完整配置数组,以二级数组的形式返回 ### 参数列表 | 名称 | 描述 | | --- | --- | | $name | 插件标识 | ***** ## get\_addon\_instance($name) 获取插件的单例 ### 参数列表 | 名称 | 描述 | | --- | --- | | $name | 插件标识 | ***** ## set\_addon\_info($name,$config) 设置插件基础配置信息,将实时更新插件目录下的`info.ini`文件 ### 参数列表 | 名称 | 描述 | | --- | --- | | $name | 插件标识 | | $array | 配置数据 | ### 调用方法 ~~~sql $result = set_addon_info('mydemo', ['title'=>'标题一']); ~~~ ***** ## set\_addon\_config($name,$config,$writefile) 设置插件配置信息,一般临时写入配置信息,第三个参数用于实时写入配置信息 ### 参数列表 | 名称 | 描述 | | --- | --- | | $name | 插件标识 | | $config | 配置数据 | | $writefile | 是否写入配置文件,默认为true | ### 调用方法 ~~~sql $result = set_addon_config('mydemo', ['username'=>'testname']); $result = set_addon_config('mydemo', ['username'=>'testname'], true); ~~~ ***** ## set\_addon\_fullconfig($name,$config) 实时写入插件配置文件 ### 参数列表 | 名称 | 描述 | | --- | --- | | $name | 插件标识 | | $config | 配置数据,二维数组信息,一般框架内部使用,不建议调用 | ### 调用方法 ~~~sql $result = set_addon_fullconfig('mydemo', [['username'=>'testname', 'type'=>'string', ...]]); ~~~