2015-11-04 108 views
2

如何獲取在中間件中註冊的路由的集合? 在laravel 4.2我可以得到的過濾器收集這樣的每條路線:如何獲取laravel中間件的路由5.1

$routeCollection = Route::getRoutes(); 
$filterName = "Visit"; 
$routeHasFilter = array(); 
foreach ($routeCollection as $route){ 
    $filters = $route->beforeFilters(); 
    if (count($filters) >= 1) { 
     $filters = array_keys($filters); 
     if (in_array($filterName, $filters)) 
      $routeHasFilter[] = $route; 
    } 
} 

我怎樣才能找到laravel 5.1中間件路線?

回答

3

你可以做一些非常相似的事情。類似這樣的:

$routeCollection = Route::getRoutes(); 
$middlewareName = "Visit"; 
$routeHasFilter = []; 

foreach ($routeCollection as $route) 
{ 
    $middleware = $route->middleware(); 
    if (count($middleware) > 0) 
    { 
     if (in_array($middlewareName, $middleware)) 
     { 
      $routeHasFilter[] = $route; 
     } 
    } 
}