Можно ли отключить конкретное промежуточное ПО, не отключая все промежуточное ПО?
Я буду использовать его при запуске тестов, поэтому я не хочу определять группы промежуточного программного обеспечения, а затем назначать их своим маршрутам.
$this->withoutMiddleware(); // <-- This will prevent all middleware $this->withoutMiddleware('web'); // <-- What I want is something like this
У меня есть альтернативное решение, вы можете добавить условие в свое промежуточное программное обеспечение в зависимости от вашей среды:
public function handle($request, Closure $next) { if (App::environment('testing')) { return $next($request); } // Your middleware logic return $next($request); }
Ну, вы можете использовать группы промежуточного слоя, которые намного лучше подходят. Определите несколько групп и назначьте их своим маршрутам.
Вы можете добавить определенные маршруты в массив $ except в самом промежуточном программном обеспечении.
Например: я не хотел, чтобы мои маршруты api имели промежуточное программное обеспечение, поэтому это то, что я сделал в VerifyCsrfToken.php
protected $except = [ "api/*", "more/routes", ];