@shirley.vonrueden
В Laravel, метод handle
в классе Middleware должен возвращать результат выполнения следующего middleware в цепочке или результат обработки запроса в конечном итоге.
Если middleware не завершает обработку запроса и должен передать управление следующему middleware в цепочке, то он должен вызвать метод $next
и вернуть его результат, например:
1 2 3 4 5 6 7 8 |
public function handle($request, Closure $next) { // выполняем действия до передачи управления следующему middleware // ... // передаем управление следующему middleware return $next($request); } |
Если middleware завершает обработку запроса и возвращает результат, то он может вернуть результат напрямую, например:
1 2 3 4 5 6 7 8 |
public function handle($request, Closure $next) { // выполняем действия до возврата результата // ... // возвращаем результат return response('Hello World'); } |
Как результат, весь middleware-стек должен вернуть экземпляр класса IlluminateHttpResponse
или его наследника, который будет отправлен клиенту.