Symfony2 读取路由参数

Symfony2 read route parameter

这是我的路线

personeelslid_personeelslid_detail:
pattern: /personeelslid/detail/{personeelId}
defaults: 
    _controller: PersoneelPersoneelslidBundle:Personeelslid:detail
    _menu_icon: fa-user

locatiebeheer_kind_detail:
pattern: /locatiebeheer/kind/detail/{kindId}
defaults: { _controller: PersoneelLocatiemanagerBundle:KindDetail:detail }

在我的 menuBuilder 中,我遍历所有路由并获取例如 _menu_icon:

$routeObject = $this->_router->getRouteCollection()->get($route);               

$menu_icon = $routeObject->getDefault('_menu_icon');

如何获取变量名 personeelId、kindId 等。 我需要 te 键,以便我可以设置 routeParameter 属性。

如果需要,您可以将自定义键添加到 defaults 选项。示例:

personeelslid_personeelslid_detail:
path: /personeelslid/detail/{personeelId}
defaults: 
    _controller: PersoneelPersoneelslidBundle:Personeelslid:detail
    _menu_icon: fa-user
    my_custom_key: personeelId

并得到它:

$myCustomKey = $routeObject->getDefault('my_custom_key');

如果你想获取通配符的值,你不能像这样(通过getRouteCollection),从请求对象中获取它(例如$request->attributes->all())..