Thinkphp 钩子的使用、行为扩展 (Hook)

 

请求钩子处理

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 行为逻辑
    }
}

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值