首页> 实战笔录 >PHP开发笔记 >ThinkPHP ThinkPHP
TP5.1 钩子与行为应用
作者:小萝卜 2019-11-21 【 TP5 】 浏览 2389
简介什么是行为:可以将行为理解为是一个行为类的方法,在框架中行为类、行为方法则是有一定的规则约定;而钩子则是这些行为方法被调用执行的位置点。注意了,要想执行某个钩子中的行为,那行为一定要在应用程序执行到该钩子之前进行绑定
什么是行为:
可以将行为理解为是一个行为类的方法,在框架中行为类、行为方法则是有一定的规则约定;而钩子则是这些行为方法被调用执行的位置点。注意了,要想执行某个钩子中的行为,那行为一定要在应用程序执行到该钩子之前进行绑定
特点:
-
一个钩子可以绑定多个行为,执行到某个钩子位置后,会按照绑定的顺序依次执行相关的行为。
-
在某种特殊情况下,可以设置某个钩子只能执行一次行为,或者是设置在一个钩子的某个行为返回false来强制终止后续的行为执行。
-
一个行为同样可以被绑定到多个不同钩子。
官方预定义了一些钩子,方便我们在程序中直接使用,在application目录下的tag.php中,我们只需要在对应的钩子下绑定行为即可生效,例如:
// 应用初始化
'app_init' => ['\app\index\behavior\Test'],
当程序初始化时会执行 appindexbehaviorTest 类的 run 方法
我们也可以自定义钩子,在tag.php中添加自定义钩子
'my_action' => ['\app\index\behavior\Test'],
然后在程序对应的位置监听这个钩子,当程序执行到这里是会自动触发钩子
public function hello($name = 'ThinkPHP5') {
thinkfacadeHook::listen("my_action");
return 'hello,' . $name;
}
很赞哦! (0)
上一篇:TP5 自定义验证器
相关文章
- TP6/ThinkPHP6修改Session存活时间
- TP6实现前后端分离的图片验证码,验证码怎么以接口形式返回
- TP5 模型事务操作
- Thinkphp框架中三元运算符的使用方法
- TP6阿里云OSS上传报SSL certificate problem:unable to get local issuer certificate
- TP6 TP5一键生成sitemap站点地图索引文件 代码分享
- TP6 TP5一键生成sitemap站点地图 代码分享
- TP6上传图片验证时报错think\\Validate::check() must be of the type array
- thinkphp6 使用 jwt 生成 token 中间件验证token
- PHP/ThinkPHP实现用户一段时间没有操作,系统自动退出
