Php Laravel通过请求类型方法获取路由列表
我使用的是Laravel6.1。我正在尝试为用户添加、编辑、删除和查看动态权限Php Laravel通过请求类型方法获取路由列表,php,laravel,laravel-5,Php,Laravel,Laravel 5,我使用的是Laravel6.1。我正在尝试为用户添加、编辑、删除和查看动态权限 $routes = []; foreach (Route::getRoutes()->getIterator() as $route){ $routes[] = $route->uri; } 这将返回所有路由url列表,但这里的问题是它下面的参数路由列表 post-detail/{categoryId}/{postid} 如何在中间件中比较url是否与此路由匹配 还可以获取路由列表中的路
$routes = [];
foreach (Route::getRoutes()->getIterator() as $route){
$routes[] = $route->uri;
}
这将返回所有路由url列表,但这里的问题是它下面的参数路由列表
post-detail/{categoryId}/{postid}
如何在中间件中比较url是否与此路由匹配
还可以获取路由列表中的路由类型。路由对象有一个
匹配
方法来查看请求是否匹配路由,该方法还可以检查HTTP方法:
$route->matches($request, true);
您还可以要求路由集合为当前请求找到匹配的路由:
$route = Route::getRoutes()->match($request);
虽然这只是当前路由:$request->route()
虽然我不太确定你仅仅通过遍历这些路径来尝试做什么
路由响应的HTTP方法可以通过
$Route->methods()
检索
当前请求的HTTP方法可以通过
$Request->method()
@lagbox访问。谢谢。是否可以获取路由请求类型。因为我的路由名为route::any。因此我可以在db中路由请求类型并比较请求type@lagbox.one更多查询。dd(Route::getRoutes());将打印\Routing\routedCollection{37▼ #路由:阵列:7[▼ “GET”=>数组:123[▶] “头”=>数组:123[▶] “POST”=>数组:100[▶] “PUT”=>数组:79[▶] “补丁”=>阵列:79[▶] “删除”=>数组:91[▶] “选项”=>数组:79[▶] .如何获取这些路由方法lsitroute::getRoutes()->getRoutesByMethod()
,那么就有了一个包含方法类型索引的数组