laravel的常用中间件有哪些

2022-05-15 0 987

laravel的常用中间件有:1、“$middleware”全局中间件,要对所有的请求要做一些处理的时候,就适合定义在该组件中;2、“$routeMiddleware”路由中间件;3、“$middlewareGroups”中间件组。

laravel的常用中间件有哪些

本教程操作环境:windows7系统、Laravel6版、Dell G3电脑。

laravel常用的三个中间件

$middleware属性:

这个属性称为全局中间件,为什么说是全局中间件呢?因为你的每一次请求,这里面的每个中间件都会执行。

$routeMiddleware属性:

这个属性称为路由中间件,为什么说是路由中间件呢?因为定义在该属性内的中间件,只能在定义路由时候引用。
假设这是我们定义的路由中间件:

protected $routeMiddleware = [    ...    'auth' => \\Illuminate\\Auth\\Middleware\\Authenticate::class,];

如果我们要使用\\Illuminate\\Auth\\Middleware\\Authenticate::class这个中间件该怎么做呢?
Route::get('hello/laravel-china','XXController@index')->middleware('auth');
我们定义路由时候调用了middleware方法,参数值是auth, 这样访问这个路由的时候,就会执行该中间件。明白了吧!很简单的。

$middlewareGroups属性:

这个属性称为中间件组,为什么说是中间件组呢?我们之前说了路由中间件,是不是感觉这样添加路由中间件很麻烦,比如我们执行10个中间件,是不是就要在定义路由时候添加10个呢?有了中间件组就不用这么麻烦了。我们来看下中间件组是怎么定义的。

protected $middlewareGroups = [    'web' => [        \\App\\Http\\Middleware\\EncryptCookies::class,        ...    ],    'api' => [        ...    ],];

好了,上面的例子就是定义中间件组的格式,比如我们看 web这个键值,它对应为一个数组,该数组有多个中间件组成。当我们定义好后,该怎么使用呢?
我们在声明路由的时候,这样调用就可以了。

Route::group(['middleware' => 'web'],function($route){    $route->get('hello/world',function(){});    $route->get('hello/php',function(){});    // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件,方便多了,批量式的。});

总结:

$middleware:全局中间件,要对所有的请求要做一些处理的时候,就适合定义在该属性内。(比如统计请求次数这些)
$middlewareGroups:中间件组,比如我们项目有api请求和web的请求的时候,就要把两种类型的请求中间件分离开来,这时候就需要我们中间件组啦。

$routeMiddleware:路由中间件,有些个别的请求,我们需要执行特别的中间件时,就适合定义在这属性里面。

引用:https://laravel-china.org/topics/7392/laravel-three-middleware-functions

相关推荐:最新的五个Laravel视频教程

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明:根据2013年1月30日《计算机软件保护条例》2次修订第17条规定: 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存 储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!】
本站所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注,网站资源不做任何二次加密(原版加密除外,不影响程序使用的不会做解密处理),方便您更好的学习参考。 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

即刻码站__国内靠谱的站长资源下载平台 php教程 laravel的常用中间件有哪些 https://www.jike1995.com/35855.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务