laravel 5,1 deprecates Route::filter()
i innych pokrewnych funkcji, claiming in the docs that:
filtry trasy zostały przestarzałe w preferencji middleware.
Ale jeśli filtr trasa dostęp parametry trasy, w jaki sposób można zastąpić ten z warstwy pośredniej, ponieważ $request->route()
jest null
w middleware?
Route::filter('foo', function($route, $request) {
if ($route->parameter('bar') > 1000) {
return Redirect::route('large-bars');
}
});
Najbliżej widzę coś takiego jak
class FooMiddleware {
public function handle($request, Closure $next)
{
// Note that $request->route() is null here, as the request
// hasn't been handled by Laravel yet.
if ($request->segment(4) > 1000) { // ewww...
return Redirect::route('large-bars');
}
return $next($request);
}
}
ale to jest oczywiście o wiele bardziej kruche niż odnoszące się do parametru o nazwie. Czego tu mi brakuje? Dzięki!
Głosowanie chciałoby poznać odpowiedź –