生成URL并保持GET参数Symfony2

时间:2015-02-17 13:40:50

标签: php symfony

我搜索Symfony处理当前GET参数的方法。

我们可以说当前的网址是:http://example.com/cars/?q=Volvo%p=1

现在我必须根据当前的网址生成网址但修改参数:http://example.com/cars/?q=Volvo%p=2

我正在为这种情况搜索symfony最佳实践解决方案,通过手动附加所有已知的get参数,简单地生成url是不正确的。

做类似的事情:

$this->generateUrl( 'some_route', array( 'q' => $request->get('q'), 'p' => $request->get('p') ) );

$this->generateUrl( 'some_route', array_merge( $request->query->all(), array( 'p' => $request->get('p') + 1  ) ) );
只是感觉不对。

必须有一个漂亮而干净的解决方案。我在想这样的事情:

<!-- path( <route>, <params>, <persist current> ) -->
{{ path( 'some_route', { p: 2 }, true ) }}

例如,fuelPHP框架具有update_query_string方法。

2 个答案:

答案 0 :(得分:2)

这就是我的所作所为:

{{ url('my_route', {myparam:'value'}|merge(app.request.query.all)) }}

答案 1 :(得分:0)

你可以这样做:

$this->generateUrl('some_route', $request->query->all())