$ request-route () ist in Middleware null, wie kann ich nach Routenparametern filtern?

8

Laravel 5.1 lehnt Route::filter() und andere verwandte Funktionen ab, behauptet in den Dokumenten, :

  

Routenfilter sind bei der Bevorzugung von Middleware veraltet.

Aber wenn Ihr Routenfilter auf Routenparameter zugreift, wie können Sie dies durch Middleware ersetzen, da die $request->route() in Middleware null ist?

%Vor%

Das nächste, was ich sehen kann, ist etwas wie

%Vor%

aber das ist offensichtlich viel spröder als auf den Parameter mit Namen zu verweisen. Was fehlt mir hier? Danke!

    
Ben Claar 07.08.2015, 02:25
quelle

1 Antwort

10

$request->route() ist nur null für globale Middleware, die in App\Http\Kernel::$middleware registriert ist. Um Zugriff auf die aktuelle Route zu haben, müssen Sie stattdessen Ihre Middleware in Kernel::$routeMiddleware :

registrieren %Vor%

Vorschläge zur Änderung dieses Verhaltens wurden von den Laravel-Betreuern wegen architektonischer Bedenken abgelehnt.

    
Ben Claar 07.08.2015, 02:51
quelle

Tags und Links