之前與之後的中介軟體
之前中介軟體的示例如下:
<?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)
將導致在執行控制器程式碼之後執行的操作。