文章目录

Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - 第九章 契约 Laravel 6 - 第十章 路由 Laravel 6 - 第十一章 中间件 Laravel 6 - 第十二章 控制器 Laravel 6 - 第十三章 请求 Laravel 6 - 第十四章 响应 Laravel 6 - 第十五章 验证器 Laravel 6 - 第十六章 Artisan命令 Laravel 6 - 第十七章 配置数据库 Laravel 6 - 第十八章 模型

目录

文章目录一、中间件(middleware)二、使用步骤1.创建中间件2.编写中间件3.注册中间件4.使用中间件5.中间件组6.排序

三、总结

一、中间件(middleware)

中间件(Middleware)提供了一种机制,用于过滤进入应用程序的 HTTP 请求,可以执行一些常见的任务,如:身份验证、日志记录、CORS(跨源资源共享)处理等。

二、使用步骤

1.创建中间件

使用 artisan cli 创建一个新的中间件(CheckUsernameMiddleware),如下:

$ php artisan make:middleware CheckUsernameMiddleware

如上命令会在 app/Http/Middleware 下新建 中间件(CheckUsernameMiddleware)类。

2.编写中间件

接1中例子,在 中间件(CheckUsernameMiddleware)的 handle 方法中编写处理逻辑,如下: 如上,前置逻辑是在应用处理请求之前执行,后置逻辑是在应用处理请求之后执行。

3.注册中间件

接1中的例子,打开 app/Http/Kernel.php 文件,找到 $routeMiddleware 数组,将中间件别名(checkUsername)映射到 CheckUsernameMiddleware。如下:

4.使用中间件

1、路由中间件 接3中例子,在路由文件(如:routes/api.php)添加如下内容: 表示只会在 /show 上运行中间件(CheckUsernameMiddleware),其他同理,使用方法可参考Laravel 6 - 第十章 路由中路由组的例子。

2、全局中间件 接1中例子,在 app/Http/Kernel.php 文件中找到 $middleware 数组并添加中间件(CheckUsernameMiddleware),如下: 表示在应用程序的所有请求中都会运行中间件(CheckUsernameMiddleware),且无需在路由文件(如:routes/api.php)指定。

5.中间件组

以项目默认中间件组为例,如果想把多个中间件打包成一个组,从而方便使用,则可在app/Http/Kernel.php 文件中的 $middlewareGroups 数组中添加如下内容: 在路由中使用,如下:

6.排序

以项目默认中间件组为例,如果想让中间件以特定的顺序执行,则可在app/Http/Kernel.php 文件中的 $middlewarePriority 数组中添加如下内容: 如上会将强制非全局中间件始终保持给定的顺序。

三、总结

使用中间件可以轻松地过滤、修改进入应用程序的请求。

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: