文件分布示意
创建钩子文件
data/behavior/AopTest.php
<?php
namespace data\behavior;
class AopTest
{
//绑定api初始化
public function apiInit($params){
echo 'api初始化开始';
}
//绑定api结束
public function apiEnd($params){
echo 'api初始化结束';
}
}
配置钩子
application/tags.php
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 应用行为扩展定义文件
return [
// 应用初始化
'app_init' => [
\data\behavior\MessageBehavior::class,\data\behavior\LoadBehavior::class,],// 应用开始
'app_begin' => [],//接口初始化
'api_init' => [\data\behavior\AopTest::class],'api_end' => [\data\behavior\AopTest::class],// 模块初始化
'module_init' => [],// 操作开始执行
'action_begin' => [],// 视图内容过滤
'view_filter' => [],// 日志写入
'log_write' => [],// 应用结束
'app_end' => [],];
在要加入行为的类的方法内加入行为监听。
application/index/controller/Aop.php
<?php
namespace app\index\controller;
use think\facade\Hook;
use think\Controller;
class Aop extends Controller
{
public function index()
{
$id = 123;
$params1 = '参数1';
$res = Hook::listen('api_init',$params1);
echo 'api index';
$params2 = '参数2';
Hook::listen('api_end',$params2);
}
}
访问查看输出效果:
api初始化开始api indexapi初始化结束
原文地址:https://blog.csdn.net/fangkang7
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。