thinkphp5 hook钩子用法

1、新建一个钩子目录在项目模块下

2、在钩子目录中新建钩子文件

例:

<?php
/**
 * User:       : lims
 * Date:       : 2018/6/26
 * Time:       : 下午2:28
 * Effect      :
 */
namespace app\index\hook;
use app\index\model\Member;
class Test
{
    public function run($parms){
        print_r(Member::getAll());
    }
    public function hello($parms){
        print_r(Member::getAll());
    }
    public function showTime($parms){
        print_r($parms);
    }
}
//此类与controller类可直接相同运行

挂钩用法

公共方法下注册
\think\Hook::add("showTime","\\app\\index\\hook\\Test");
在tags.php中注册
return [
    // 应用初始化
    'app_init'     => [],
    // 应用开始
    'app_begin'    => [],
    // 模块初始化
    'module_init'  => [],
    // 操作开始执行
    'action_begin' => [],
    // 视图内容过滤
    'view_filter'  => [],
    // 日志写入
    'log_write'    => [],
    // 应用结束
    'app_end'      => [],
    "hello"   => ['\\app\\index\\hook\\Test'],
];

注册完成就可以监听了

Hook::listen("hello");
Hook::listen("showTime");

猜你喜欢

转载自blog.csdn.net/a727574771/article/details/80815952