laravel 中间件
来源:互联网 发布:网络投资诈骗 编辑:程序博客网 时间:2024/06/01 09:01
<span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Hiragino Sans GB W3", "WenQuanYi Micro Hei", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif; font-size: 14px;">当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求。</span>
Laravel框架自带了一些中间件,包括维护模式、认证、CSRF 保护中间件等等。所有的中间件都位于app/Http/Middleware
目录。
要创建一个新的中间件,可以通过 Artisan 命令 make:middleware
:
这个命令会在 app/Http/Middleware
目录下创建一个新的中间件类 OldMiddleware
。
不过我还是通过手动创建来加强理解:
1.首先,在 app/Http/Middleware 目录下创建一个我们自己的中间件,我这里创建一个名为TestMiddleware.php 的中间件,用来做测试用,输出一句hello,代码如下:
<?php/** * Created by PhpStorm. * User: Administrator * Date: 2016/10/31 * Time: 16:28 */namespace App\Http\Middleware;use Closure;class TestMiddleware{ /** * 测试中间件 * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed * */ public function handle($request, Closure $next) { echo 'hello laravel middleware'; return $next($request); }}
2.注册中间件
全局中间件
如果你想要中间件在每一个 HTTP 请求期间被执行,只需要将相应的中间件类设置到 app/Http/Kernel.php
的数组属性 $middleware
中即可。
分配中间件到路由
如果你想要分配中间件到指定路由,首先应该在 app/Http/Kernel.php
文件中分配给该中间件一个简写的 key,默认情况下,该类的 $routeMiddleware
属性包含了 Laravel 内置的入口中间件,添加你自己的中间件只需要将其追加到后面并为其分配一个 key:
/** * The application's route middleware. * * These middleware may be assigned to groups or used individually. * * @var array */protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'test' => \App\Http\Middleware\TestMiddleware::class];
我这里分配的是test
3.运用到路由当中去,新建一条路由,如果要用到多个中间件,middleware 可以对应一个数组,代码如下
Route::get('Admin/test3', ['middleware'=>'test',function () { return 'Admin::test3';}]);
4.访问下域名/Admin/test3,看看效果
其实可以把中间件当做,请求时候,多走的一层,在这一层上面可以做很多验证啊,防护啊什么的事情,走一遍大概有个了解,还有路由组什么的,就不贴出来了,文档比较详细
laravel 中间件文档地址:http://laravelacademy.org/post/2803.html
- laravel 中间件
- Laravel中间件
- laravel中间件
- laravel中间件
- laravel中间件
- Laravel中间件
- Laravel中间件
- Laravel中间件
- laravel系列5-- 中间件
- laravel - 中间件使用
- 205 laravel 中间件实现
- laravel中间件源码分析
- Laravel 中间件建立使用
- Laravel中间件实现原理
- Laravel中间件实现原理
- Laravel Middleware 中间件
- laravel--(自定义中间件)
- Laravel基础-中间件
- PagerSlidingTabStrip介绍及使用,让ViewPager更绚丽
- 升级Xcode8后的相机crash问题-IOS10权限问题
- 正则处理
- 51NOD 1674 区间的价值 V2
- 用slub track调试use after free问题
- laravel 中间件
- 设计模式六大原则 - (1):单一职责原则
- 深度学习(三)卷积神经网络2——图像中的应用
- lucene5.3.1 maven + 增删改查 详细注释
- 日本麻将基本术语
- Linux内核学习(一)
- Android组件之Content Provider
- jQuery笔记--DOM篇
- java加密体系-AES