请求钩子处理
Hook::listen('action_init',$params);
注册钩子
1、手动注册
// 注册 app\index\behavior\CheckLang行为类到app_init标签位
Hook::add('app_init','app\\index\\behavior\\CheckLang');
2、tag注册
如果APP_PATH目录下面和模块目录下面的tags.php都定义了app_init的行为绑定的话,会采用合并模式,如果希望覆盖,那么可以在模块目录下面的tags.php中定义如下:如果某个行为标签定义了'_overlay' =>true 就表示覆盖之前的相同标签下面的行为定义。
return [
'app_init'=> [ 'app\\index\\behavior\\CheckAuth', '_overlay'=>true ],
'app_end'=> [ 'app\\admin\\behavior\\CronRun' ]
]
实现钩子(行为定义)
namespace app\index\behavior;
class CheckAuth
{
public function run(&$params)
{
// app_init 行为逻辑
}
}
namespace app\admin\behavior;
class CronRun
{
public function appEnd(&$params)
{
//app_end 行为逻辑
}
}