中间件(Middleware)

-> 过滤所有进入应用的HTTP请求

-> 在请求过程中执行相应的任务

-> 进行统一认证,如CSRF Auth等认证

·创建中间件

使用php artisan make:middleware 中间件名 来创建,会创建在app/http/Middleware文件夹下,新创建的文件内容为:

namespace App\Http\Middleware;		// 引入中间件模块

use Closure;	//实例化一个关闭方法

class 中间件名

{

    // $request,接收到的请求;Closure $next,创建一个关闭该请求的函数

    public function handle($request, Closure $next)

    {

        @1 表达式部分 

        return $next($request);	// 关闭请求

    }

}

扩展:redirect(to:‘/path’); // laravel中,跳转页面的函数

·使用中间件

首先,在上边的@1中,写入需求代码。

然后,需要将这个中间件,给注册一下。打开app/http/Kernel.php,里面有一个$routeMiddleware的对象方法,将新注册的中间件,写入其中,如下:

protected $routeMiddleware = [

       'auth' => \App\Http\Middleware\Authenticate::class,
       '键名,通常为中间件的名称'=>\App\Http\Middleware\中间件名::class
        ……

];

打开Router/Web.php

新建一个路由,比如:

Route::get('/list/{name}', 'ListController@Middleware_ceshi');

打开app/http/controller文件夹下的控制器文件

在控制器中,新建一个名为Middleware_ceshi的对象方法,并用$name接收请求中的name参数。

回到路由中,使用链式的方法,调用新注册的中间件:

Route::get('/list/{name}','ListController@middleware_ceshi')->middleware('注册时自定义的名称');

人已赞赏
入门

文件上传属性

2020-6-27 12:45:42

入门

路由分组

2020-7-14 17:04:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索