我试图了解中间件在 Laravel 中是如何工作的。这是我的类(class),谁能解释一下它是如何工作的。?

<?php

namespace App\Http\Middleware;

use Closure;

class CheckAge
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if ($request->age <= 200) {
            return redirect('home');
        }

        return $next($request);
    }

}

谢谢

最佳答案

Middleware 提供了一种方便的机制来过滤进入应用程序的 HTTP 请求。例如,Laravel 包含一个 middleware,用于验证您的应用程序的用户是否已通过身份验证。如果用户未通过身份验证,middleware 会将用户重定向到登录屏幕。但是,如果用户通过身份验证,middleware 将允许请求进一步进入应用程序。

Reference

编辑:正如@num8er 所解释的

中间件是位于路由器和路由处理程序之间的功能(或逻辑)。

在您的代码中:

public function handle($request, Closure $next)
{
    if ($request->age <= 200) {
        return redirect('home');
    }

    return $next($request);
}
$request->age 是一个在请求中提供的变量,可以在每个 HTTP 请求上检查,如果它的值 <= 200 则用户重定向到家庭路由。

关于php - Laravel 中的中间件是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43013296/

10-10 15:54