1

我正在尝试在我的控制器之外访问我的 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 。

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

我有太多的控制器来尝试从那里一个一个地传递它们,并且通过爆炸 URL 来破解它只是一个坏主意。:-)

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

4

1 回答 1

8

我认为这段代码会帮助你

$params = $container->get('request')->attributes->get('_route_params');
$id = $params['id'];
于 2012-11-16T18:59:06.433 回答