说明:用的是ThinkPHP5.1.5版本.这里是把tp5.1文档里面说不清楚的地方说明白了,配合官方完全开发手册看,就一目了然了.来战吧,嘿嘿嘿
要设置一个钩子,只需要在相关的位置添加一行代码(事先需要引入think\facade\Hook
类):
use think\facade\Hook;
步骤:
一:在tags.php文件下定义行为名称
如果应用目录下面和模块目录下面的tags.php
都定义了app_init
的行为绑定的话,会采用合并模式,如果希望覆盖,那么可以在模块目录下面的tags.php
中定义如下:
return [
'app_init'=> [
'app\\index\\behavior\\CheckAuth',
'_overlay'=>true
],
'app_end'=> [
'app\\admin\\behavior\\CronRun'
]
]
如果某个行为标签定义了
'_overlay' =>true
就表示覆盖之前的相同标签下面的行为定义。
二:在自定义行为对应的地方,写上行为对应的方法
三:在控制器中调用之前定义的方法
结果如下: