每个插件钩子文件必须继承公共的插件控制器app\common\controller\Plugins,插件里面必须要有以下四个方法:
<?phpnamespace plugins\aaa;use app\common\controller\Plugins;class aaa extends Plugins{/*** @var array 插件钩子清单*/public $hooks = [// 钩子名称 => 钩子说明【系统钩子,说明不用填写】'system_admin_tips',];/*** system_admin_tips钩子方法 ,驼峰命名* @param $params*/public function systemAdminTips($params){echo '这是插件[aaa]的示例![我在这儿:/plugins/aaa/aaa.php]<br>';}/*** 安装前的业务处理,可在此方法实现,默认返回true* @return bool*/public function install(){// 在此写业务代码,没有可不写return true;}/*** 安装后的业务处理,可在此方法实现,默认返回true* @return bool*/public function installAfter(){// 在此写业务代码,没有可不写return true;}/*** 卸载前的业务处理,可在此方法实现,默认返回true* @return bool*/public function uninstall(){// 在此写业务代码,没有可不写return true;}/*** 卸载后的业务处理,可在此方法实现,默认返回true* @return bool*/public function uninstallAfter(){// 在此写业务代码,没有可不写return true;}}
调用:
模板调用 {:runhook(‘system_admin_tips’)}
php文件调用 runhook(‘example_hook’)
带参数调用 runhook(‘example_hook’, [‘param1’=> ‘参数1’, ‘param2’=> ‘参数2’])
