之前与之后的中间件
之前中间件的示例如下:
<?php
namespace App\Http\Middleware;
use Closure;
class BeforeMiddleware
{
public function handle($request, Closure $next)
{
// Perform action
return $next($request);
}
}
而后中间件看起来像这样:
<?php
namespace App\Http\Middleware;
use Closure;
class AfterMiddleware
{
public function handle($request, Closure $next)
{
$response = $next($request);
// Perform action
return $response;
}
}
关键区别在于如何处理 $request
参数。如果在执行控制器代码之前执行的 $next($request)
之前执行操作,则首先调用 $next($request)
将导致在执行控制器代码之后执行的操作。