Symfony2读取路由参数

时间:2015-01-07 10:31:11

标签: symfony routes

这是我的路线

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属性。

1 个答案:

答案 0 :(得分:2)

如果需要,您可以将自定义键添加到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对象中获取它(例如$request->attributes->all())..