laravel中间件基础详解

发布时间 - 2022-05-18 00:00:00    点击率:

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

【相关推荐: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->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  # lavarel  # 中间件  # csrf  # 闭包  # http  # 自定义  # 创建一个  # 配置文件  # 应用程序  # 是一个  # 还可以  # 夹中  # 带来了  # 给大家  # 不符合 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  如何彻底删除建站之星生成的Banner?  bing浏览器学术搜索入口_bing学术文献检索地址  香港服务器网站推广:SEO优化与外贸独立站搭建策略  高端云建站费用究竟需要多少预算?  如何正确下载安装西数主机建站助手?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  Swift中循环语句中的转移语句 break 和 continue  微信h5制作网站有哪些,免费微信H5页面制作工具?  详解Oracle修改字段类型方法总结  html5的keygen标签为什么废弃_替代方案说明【解答】  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  北京专业网站制作设计师招聘,北京白云观官方网站?  如何在万网主机上快速搭建网站?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  实例解析angularjs的filter过滤器  中山网站推广排名,中山信息港登录入口?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  javascript中对象的定义、使用以及对象和原型链操作小结  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  网站制作壁纸教程视频,电脑壁纸网站?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel如何使用withoutEvents方法临时禁用模型事件  Laravel distinct去重查询_Laravel Eloquent去重方法  Laravel怎么为数据库表字段添加索引以优化查询  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何用y主机助手快速搭建网站?  Laravel storage目录权限问题_Laravel文件写入权限设置  文字头像制作网站推荐软件,醒图能自动配文字吗?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  ,怎么在广州志愿者网站注册?  香港服务器选型指南:免备案配置与高效建站方案解析  如何快速完成中国万网建站详细流程?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  如何在腾讯云服务器快速搭建个人网站?  如何在万网ECS上快速搭建专属网站?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)