thinkphp5之行为整理
在应用或模块下建 behavior目录,目录内建行为类文件Test.php(以下以home模块为例)
1.在入口文件中,增加: define("APP_HOOK",true);
2.home模块下建tags.php文件定义行为
1.home模块的公共文件(common.php)或控制器方法内绑定行为到标签位
在控制器方法内需要的地方直接执行行为
方法四
在控制器方法内直接使用闭包函数
行为类绑定到多个标签
1.Test.php定义如下:
- namespace apphomeehavior;//注意应用或模块的不同命名空间
- class Test {
- public function run(&$params){
- echo $params;
- }
- }
1.在入口文件中,增加: define("APP_HOOK",true);
2.home模块下建tags.php文件定义行为
- return [
- "app_init"=> [
- "app\home\behavior\Test", //注意行为的命名空间(下同)
- ],
- "zzzzz"=> [//自定义标签位
- "app\home\behavior\Test",
- ],
- //.................
- ];
- hinkHook::listen("app_init",$params);//参数为变量(下同)
- hinkHook::listen("zzzzz",$params);//自定义
1.home模块的公共文件(common.php)或控制器方法内绑定行为到标签位
- hinkHook::add("app_init","app\home\behavior\Test");
- hinkHook::add("zzzz","app\home\behavior\Test");//自定义
- hinkHook::listen("app_init",$params);
- hinkHook::listen("zzzzz",$params);//自定义
在控制器方法内需要的地方直接执行行为
- hinkHook::exec("app\home\behavior\Test","run",$params);
方法四
在控制器方法内直接使用闭包函数
- $a="闭包函数";
- hinkHook::add("zzzz",function($a){ var_dump($a);});
- hinkHook::listen("zzzz",$a);
行为类绑定到多个标签
1.Test.php定义如下:
- namespace apphomeehavior;
- class Test {
- public function app_init(&$params){
- echo "app_init";
- }
- public function app_end(&$params){
- echo "app_end";
- }
- }
- hinkHook::add("app_init","app\home\behavior\Test");
- hinkHook::add("app_end","app\home\behavior\Test");
- hinkHook::listen("app_init",$params);
- hinkHook::listen("app_end",$params);
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了