thinkphp中钩子函数的数据怎么返回给控制器??

thinkphp中钩子函数的数据怎么返回给控制器??

阅读 3.5k
2 个回答

可以使用thinkHook类的listen方法添加自己的行为侦听位置,例如:

Hook::listen('action_init');

Thinkphp的Hook类是没有插件的方法的返回值返回的,你需要修改Thinkphp/Library/Think/Hook.class.php中listen方法,在方法的最后一行把

return;

修改为

return $result;

然后在项目Application/Common/function.php文件中添加一个调用函数

function hook($hook,$params=array()){
    return \Think\Hook::listen($hook,$params);        //监听一个钩子
}

钩子调用

hook('test',array('a'=>1,'b'=>2));//无需返回值调用
$result=hook('test',array('a'=>1,'b'=>2));//接收返回值
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题