Laravel通过方法获取路线

时间:2018-09-05 08:42:22

标签: laravel laravel-5.6

如何获取项目中所有具有GET方法的路线?我尝试过:

Route::getRoutes()为我提供了所有路由,但不知何故我无法通过方法对其进行过滤。

Route::getRoutes()->routes很不错,但是路由是受保护的属性,我看不到任何getter

2 个答案:

答案 0 :(得分:2)

您可以创建小型助手方法。

function getRoutesByMethod(string $method){
    $routes = \Route::getRoutes()->getRoutesByMethod();
    return $routes[$method];
}

然后在您的应用程序中使用它

$postRoutes = getRoutesByMethod("POST");

答案 1 :(得分:1)

RouteCollection具有一种方法,可以根据其方法(例如GET)对路由进行排序。

您可以按以下方式使用它来获取GET路由:

Route::getRoutes()->getRoutesByMethod()['GET']

并获取POST路由:

Route::getRoutes()->getRoutesByMethod()['POST']