【TP5.1】钩子的使用

文件分布示意

在这里插入图片描述

创建钩子文件

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初始化结束

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咔咔-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值