thinkphp6:如何玩转中间件

中间件主要处理http请求,比如拦截、过滤,对此进行相应的处理

在这里插入图片描述

 如果在多应用模式下,我们可以为各个模块新增这个文件,用来处理自己的http请求。注意,必须要新增handle方法。

在这里插入图片描述
启动中间件
方案一:

 在这里插入图片描述

 通过共同文件配置,对所有的页面都适用

创建好中间件后,暂时还不可用,我们需要做配置,将app目录下的中间件定义文件复制到当前模块目录下,定义好路径即可。

在这里插入图片描述
方案二:

通过路由绑定,指定特定的页面

中间件官网教程:

https://www.kancloud.cn/manual/thinkphp6_0/1037493

https://www.kancloud.cn/manual/thinkphp6_0/1037515

<?php
namespace app\controller;


class Index
{

   //方法一:所有都要验证
   protected $middleware = [Auth::class];
    或 protected $middleware = ['Auth'];

   //方法二:验证部分
    protected $middleware = [ 
    	'auth' 	=> ['except' 	=> ['hello'] ],//除了hello方法,其它方法都验证
        'check' => ['only' 		=> ['hello'] ],//只有hello方法验证,其它方法都不用
    ];

    public function index()
    {
        return 'index';
    }

    public function hello()
    {
        return 'hello';
    }
}

重点:

except=除了的意思        only=只有的意思

<?php
namespace app\index\controller;

class Index 
{
    protected $middleware = [ 
    	Auth::class . ':admin' 	=> ['except' 	=> ['hello'] ],
        'Hello' => ['only' 		=> ['hello'] ],
    ];

    public function index()
    {
        return 'index';
    }

    public function hello()
    {
        return 'hello';
    }
}

TP6例子:

//引用
use app\middleware\JwtAuthMiddleWare;

//控制器中
protected $middleware = [ 
     JwtAuthMiddleWare::class => ['only' => ['verificationToken'] ],
];

————————————————
版权声明:本文为CSDN博主「前端一号站」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39553363/article/details/105338227

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值