在Symfony2中生成追加查询字符串的路径

gre*_*emo 28 symfony twig

是否有任何工具可以为给定的路由和参数生成路径,自动附加查询字符串?作为临时解决方法,我正在使用自制宏:

{% macro path(route, args, with_query) %}
{% spaceless %}
    {% set with_query = with_query|default(false) and app.request.queryString %}
    {{ path(route, args) ~ (with_query ? '?' ~ app.request.queryString : '' ) }}
{% endspaceless %}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)

在Symfony2/Twig中是否有一些本机功能可以做到这一点?

Alt*_*PHP 87

与一件好事路径枝条扩展是通过args数组传递不明参数是在作为GET PARAMATERS URL的结束时自动所附:

{{ path('route_id', {'routeParam':'foo', 'unknownParam':'bar'}) }}
Run Code Online (Sandbox Code Playgroud)

会产生

/路径/到/路由/富?unknownParam =巴

  • 这个"未知参数"功能是核心Symfony2路由器的一部分 - 因此您可以在控制器中使用相同的方法.来自[官方文档](http://symfony.com/doc/current/book/routing.html#generating-urls-with-query-strings):$ router-> generate('blog',array('page '=> 2,'category'=>'Symfony')); ///blog/2?category = Symfony (2认同)

Jor*_*orj 5

就像这样简单:

{{ path('route_id', app.request.query.all) }}
Run Code Online (Sandbox Code Playgroud)