ThinkPHP钩子和行为

TP5.1的行为是一个比较抽象的概念,执行的流程用户的注册,登录,退出登录等等都可以作为一个行为。。
而不同的行为之间也具有位置共同性,比如,有些行为的作用位置在用户注册后,在登录之后,退出登录之后,等等有些行为的作用位置都是在应用执行前,有些行为都是在模板输出之后,把这些行为发生作用的位置称之为钩子
TP5设置钩子很简单,只需要一行代码,需要引入thinkfacadeHook类
Hook::listen('钩子名称','参数','是否只有一次有效返回值');

  

钩子类似于AOP编程思想

比如用户注册:

$user = User::create($params);
$this->_user = User::get($user->id);
//设置Token
$this->_token = Random::uuid();
Token::set($this->_token, $user->id, $this->keeptime);

//注册成功的事件
Hook::listen("user_register_successed", $this->_user);

使用thinkfacadeHook类的add方法注册行为,

//监听注册成功事件
Hook::add('user_register_successed', function ($user) use ($auth) {
Cookie::set('uid', $user->id);
Cookie::set('token', $auth->getToken());
});
————————————————
版权声明:本文为CSDN博主「一场丶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40698401/article/details/81773209

原文地址:https://www.cnblogs.com/liliuguang/p/12375948.html