当前的路线模式

时间:2016-03-08 10:46:13

标签: routing routes symfony

我正在尝试在我的操作中获取当前路由模式,因为您可以使用debug:router命令。

all_medias      GET       ANY      ANY    /api/media/all.{_format}

我查看了RouterDebugCommand,但您需要$input$ouput对象来使用帮助程序。这项任务看起来有点过于复杂。有没有办法从控制器获取路由模式?

1 个答案:

答案 0 :(得分:1)

您可以从RouteCollection

获取名称路径
$currentRouteName = $request->attributes->get('_route');
$currentRoutePath = $this->get('router')->getRouteCollection()->get($currentRouteName)->getPath();

或者你也可以检查它的模式(自2.2以来被删除):

$currentRoutePattern = $this->get('router')->getRouteCollection()->get($currentRouteName)->getPattern();