laravel中间件基础详解
本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。
【相关推荐:laravel视频教程】
什么是中间件
中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中 间件来验证用户是否经过认证(如登录),如果用户没有经过认证,则中间件会将用户重定 向到登录页面;而如果用户已经经过认证,则中间件会允许请求继续往前进入下一步操作。 除了认证功能,中间件还可以被用来处理许多其他任务。比如,CORS 中间件可以为离开站 点的相应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求
,从而方便我们 构建系统日志系统。
Lavarel 自带了一些中间件,包括认证、CSRF 保护中间件等。所有的中间件都位于 app\Http\Middleware 目录下。
一、自定义中间件
步骤:
- 使用 artisan 命令创建中间件
php artisan make:middleware 中间件名
- 在创建的中间件中编写逻辑
- 在 app\Http 文件夹中的配置文件 Kernel.php 中注册中间件
- 将中间件分配给路由或控制器
二、举个例子
比如游乐园某些项目需要12岁或者身高超过1米4可以玩。
我们创建一个检验年龄的中间件
php artisan make:middleware CheckAge
Closure 是一个闭包函数
$request用来接收应用的请求数组
$next 将请求传递给应用程序
$next($request) 将请求传递给应用程序
public function handle(Request $request, Closure $next) { if($request->age < 12){ dd("你的年龄不符合要求") ; } return $next($request); }
注册中间件
打开 app\Http 文件夹中的配置文件 Kernel.php
$middleware 配置全局中间件,所有http请求都需要经过我们定义好的中间件。
$middlewareGroups中间件组
$routeMiddleware 定义别名
'age' => \App\Http\Middleware\CheckAge::class
打开web.php创建一个路由
//中间件Route::get('middleware/{age}',function () { return "你的年龄符合要求";})->middleware('age');
测试
http://www.la.com/middleware/1
http://www.la.com/middleware/12
【相关推荐:laravel视频教程】
以上是laravel中间件基础详解的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel - Artisan 命令 - Laravel 5.7 提供了处理和测试新命令的新方法。它包括测试 artisan 命令的新功能,下面提到了演示?

Laravel - Artisan Console - Laravel 框架提供了三种主要的命令行交互工具,即:Artisan、Ticker 和 REPL。本章详细介绍了 Artisan。

Laravel - 分页自定义 - Laravel 包含分页功能,可帮助用户或开发人员包含分页功能。 Laravel 分页器与查询构建器和 Eloquent ORM 集成。自动分页方法

Laravel邮件发送失败时的退信代码获取方法在使用Laravel开发应用时,经常会遇到需要发送验证码的情况。而在实�...

Laravel计划任务运行无响应排查在使用Laravel的计划任务调度时,不少开发者会遇到这样的问题:schedule:run...

在dcatadmin(laravel-admin)中如何实现自定义点击添加数据的表格功能在使用dcat...

Laravel - 转储服务器 - Laravel 转储服务器随 Laravel 5.7 版本一起提供。以前的版本不包括任何转储服务器。转储服务器将成为 laravel/laravel Composer 文件中的开发依赖项。
