/ / Laravel 5.2.x vypnúť konkrétne middleware - php, laravel, testovanie, laravel-5.2, middleware

Laravel 5.2.x zakáže špecifický middleware - php, laravel, testovanie, laravel-5.2, middleware

Je možné vypnúť konkrétny middleware bez vypnutia všetkých middleware?

Budem ho používať pri spustení testov, takže nechcem definovať middleware skupiny a potom ich priradiť k mojim trasám.

$this->withoutMiddleware(); // <-- This will prevent all middleware

$this->withoutMiddleware("web"); // <-- What I want is something like this

odpovede:

3 pre odpoveď č. 1

Mám alternatívne riešenie, môžete pridať podmienku vo vašom ovplyvnenom middleware podľa vášho prostredia:

public function handle($request, Closure $next)
{
if (App::environment("testing")) {
return $next($request);
}

// Your middleware logic

return $next($request);
}

0 pre odpoveď č. 2

No, môžete použiť skupiny middleware ktorý je oveľa lepší prístup. Definujte niekoľko skupín a priraďte ich k trasám.


0 pre odpoveď č. 3

Môžete pridať konkrétne cesty k $ okrem poľa v samotnom middleware.

Napríklad: Nechcel som, aby moje api cesty mali web middleware, takže to je to, čo som urobil v VerifyCsrfToken.php

protected $except = [
"api/*",
"more/routes",
];