登录  /  注册
首页 > php框架 > Laravel > 正文

laravel中间件基础详解

WBOY
发布: 2022-05-18 11:46:24
转载
2719人浏览过

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 http 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

laravel中间件基础详解

【相关推荐:laravel视频教程

什么是中间件

    中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中 间件来验证用户是否经过认证(如登录),如果用户没有经过认证,则中间件会将用户重定 向到登录页面;而如果用户已经经过认证,则中间件会允许请求继续往前进入下一步操作。 除了认证功能,中间件还可以被用来处理许多其他任务。比如,CORS 中间件可以为离开站 点的相应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求,从而方便我们 构建系统日志系统。

    Lavarel 自带了一些中间件,包括认证、CSRF 保护中间件等。所有的中间件都位于 app\Http\Middleware 目录下。

一、自定义中间件

步骤:

  1. 使用 artisan 命令创建中间件php artisan make:middleware 中间件名
  2. 在创建的中间件中编写逻辑
  3. 在 app\Http 文件夹中的配置文件 Kernel.php 中注册中间件
  4. 将中间件分配给路由或控制器

二、举个例子

比如游乐园某些项目需要12岁或者身高超过1米4可以玩。

我们创建一个检验年龄的中间件

php artisan make:middleware CheckAge
登录后复制

在这里插入图片描述

Closure 是一个闭包函数
$request用来接收应用的请求数组
$next 将请求传递给应用程序
$next($request) 将请求传递给应用程序

 public function handle(Request $request, Closure $next)
    {
        if($request-&gt;age <h3>注册中间件</h3><p>打开 app\Http 文件夹中的配置文件 Kernel.php</p><blockquote><p>$middleware 配置全局中间件,所有http请求都需要经过我们定义好的中间件。<br> $middlewareGroups中间件组<br> $routeMiddleware 定义别名</p></blockquote><pre class="brush:php;toolbar:false">'age' =&gt; \App\Http\Middleware\CheckAge::class
登录后复制

在这里插入图片描述

打开web.php创建一个路由

//中间件Route::get('middleware/{age}',function () {
    return "你的年龄符合要求";})-&gt;middleware('age');
登录后复制

测试

http://www.la.com/middleware/1
在这里插入图片描述

http://www.la.com/middleware/12
在这里插入图片描述

【相关推荐:laravel视频教程

以上就是laravel中间件基础详解的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号