行为整理链接
例子:
在应用或模块下建 behavior目录,目录内建行为类文件Test.php(以下以home模块为例)
namespace app\home\behavior;//注意应用或模块的不同命名空间class Test { ???public function run(&$params){ ???????echo $params; ???}}
行为定义完成后,就需要绑定到某个标签位置才能生效,否则是不会执行的
home模块下建tags.php文件将行为绑定绑定到app_init和zzzzz标签上
return [ ???‘app_init‘=> [ ???????‘app\\home\\behavior\\Test‘, //注意行为的命名空间(下同) ???], ???‘zzzzz‘=> [//自定义标签位 ???????‘app\\home\\behavior\\Test‘, ???], ???//.................];
控制器方法内需要的地方侦听行为(比如在随便某个控制器的index方法中添加)
$params=‘ok‘;
\think\Hook::listen(‘app_init‘,$params);//参数为变量(下同)\think\Hook::listen(‘zzzzz‘,$params);//自定义
访问这个index方法 输出 okok
thinkphp5 行为扩展
原文地址:https://www.cnblogs.com/lichihua/p/10426521.html