访问树枝模板中的路径参数

rap*_*due 8 routes symfony

如何在不知道参数名称的情况下访问树枝模板中的路径参数?

php*_*r01 16

可以在Twig中以下列方式访问路由参数:

{{ app.request.attributes }}
Run Code Online (Sandbox Code Playgroud)

您还可以使用该dump()函数查看可用的方法:

<pre>
{{ dump(app.request.attributes) }}
</pre>
Run Code Online (Sandbox Code Playgroud)

这是所有参数的转储:

请求URL

http://example.com/test/3

Route = test
Slug = {param1} = 3
Run Code Online (Sandbox Code Playgroud)

Twig Code

{{ dump(app.request.attributes) }}
Run Code Online (Sandbox Code Playgroud)

返回

object(Symfony\Component\HttpFoundation\ParameterBag)[10]
  protected 'parameters' => 
    array (size=3)
      '_controller' => string 'MyTest\Bundle\Controller\TestController::indexAction' (length=61)
      'param1' => string '3' (length=1)
      '_route' => string 'test' (length=7)
Run Code Online (Sandbox Code Playgroud)

  • {{ app.request.attributes.get('_route') }} 只获取路由而不是路由参数 (2认同)

Pie*_*ckM 12

如果只需要一个参数,则可以使用{{app.request.attributes.get('_ route_params')}}获取所有路径参数:

{{app.request.attributes.get('_ route_params')['CHANGE_WITH_YOUR_PARAMETER_KEY']}}

  • 看起来像“.get”查看路由参数,所以以下较短的版本对我有用{{ app.request.attributes.get('paramName') }} (2认同)