tp6中间件的应用

12 篇文章 0 订阅

这段时间在学习tp6的知识,由于之前学习过tp5,现在入手tp6也并不会很难。当然,也有一些新的知识点需要用心去研究下。这不,关于中间件这一块,我花了好长一段时间才明白过来。(注明:此博文由本人现炒现卖,有道是打钱还是要趁热,以下讲解有误的话欢迎指出,当然,此文也会由于我学习成果的不同而修改),话不多说,直接来主题。
tp6的中间件,总果起来,可以让很多人联想到tp5当中的前置控制器、后置控制器。(或者可以这样子理解,中间件就是我们在访问某件控制器前或者访问控制器后所执行的动作)。比如我们常用的权限控制,也可以用中间件来实现。
在tp6中,定义一个中间件非常简单,只需要在dos命令中执行以以下命令就可以定义出一个中间件。

php think make:middleware Test   //这样就新建了一个Test的中间件,路径在 app\middleware 

此时,我们可以在Test.php文件的 handle() 方法中直接书写我们想要实现的功能。需要注意的是中间件必须有一个返回值。同时,它返回的是一个Response对象。

//或者这样子说,中间件最后一句代码
return $next($request);

然后,我们要在控制器中使用这个间件间,有以下几个方法。
1、如果是全局使用(在访问所有控制中都要执行这个中间件),我们需要在app\middleware.php的文中中进行全局定义。

\app\middleware\Test::class,   //注意路径中最前面还有一个斜杠

2、如果只要针对某一个控制器中使用。我们只需要在某一个控制器下写下以下代码

protected $middleware = [\app\middleware\Test::class];   //注意,右边必须是一个数组

//或者在 config\middleware.php 文件中的  alias 数组中先进行 中间件别名设置
//之后在所需要的控制器中使用别名。

//-----------------分割线----------------------------

//config\middleware.php文件
 'alias'=>[
 	'test'=>\app\middleware\Test::class,  //不需要加引号
 ];


//控制器文件
protected $middleware = ['test'];  

参考网站 https://blog.csdn.net/maysh2008/article/details/106357578/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值