检索控制器外部url传递的路由参数symfony2

时间:2012-11-16 17:54:26

标签: php symfony

我正在尝试访问控制器外部的slug参数。

我有这样的路由YML:

adgroup:
    pattern:  /adgroup/{id}
    defaults: { _controller: ExampleBundle:AdGroup:index }
    requirements:
        id: \d+

..和这样的网址:

http://example.com/adgroup/25

我需要一种方法来访问{id}变量而不从控制器获取它,我的控制器工作正常。但是,我正在尝试构建一个很大程度上依赖于传入Slugs的对象。

到目前为止,在搜索文档的过程中,许多例子都让我无处可去。

我尝试了什么: 我已经var_dumped整个Request :: createFromGlobals方法,它是孩子们看看它是否存储在那里。它似乎不是这样。

此外,由于我在开发环境中,symfony中的调试工具栏在分析器中清楚地显示了Request:id:25。

所以问题是......如何从控制器外部获取slug / slug值?

我有太多的控制器试图从那里逐一传递它们,并且从爆炸URL中攻击它只是一个坏主意。 : - )

我想有一些我不知道的方法来访问这些?

1 个答案:

答案 0 :(得分:8)

我认为此代码可以帮助您

$params = $container->get('request')->attributes->get('_route_params');
$id = $params['id'];