tp5hook方法注入

tp5hook方法注入

话不多说直接上硬核

在tp5完全开发手册里面的解释

tp5hook方法注入插图
我相信很多人就是看不懂文档才来到这里的
就很笼统,比方说,下面这个语句要放在哪里,还有它是怎么识别到getUserInfo这个方法名的,如果说getUserInfo方法写在本控制器内,那我何必这么麻烦呢,直接方法里面实现就好了,完全没有必要调用嘛,用这个肯定是为了方便快捷

Request::hook('user','getUserInfo');

正确的打开方式

getUserInfo方法要写在common.php公共文件里面,如下图,也别忘记引用 think\Request 而不是 think\facade\Request;
tp5hook方法注入插图(1)
controller文件如下
tp5hook方法注入插图(2)
在调用之前进行hook注入就行,如文件当中在构造函数中注入,或者在需要执行的语句之前注入
顺便给出复制的代码

<?php

namespace app\index\controller;

use think\facade\Request;

class Msc
{
    public function __construct()
    {
    
// request()->hook("getName", "userInfo");//这样也可以注入
        Request::hook("getName", "userInfo");
    }

    public function test()
    {
        $name = 'msc';
// request()->hook("getName", "userInfo");//也可以在执行之前注入,和构造函数同理
// $res = request()->getName($name);//这样也可以执行
        $res = Request::instance()->getName($name);
        return $res;
    }

}

如果解决了你的疑问,麻烦点个赞吧,当然也不介意您关注收藏下的呢

没有账号? 忘记密码?

社交账号快速登录