我的路线是
admin:
path: /admin/
defaults: { _controller: CatalogWebBundle:Admin:admin }
Run Code Online (Sandbox Code Playgroud)
我如何在PHP模板中获取路由名称?
Tom*_*oms 14
获取当前URL
$request->getRequestUri(); 要么 app.request.uri
至于路线本身,最佳做法是将其作为参数注入控制器,请参阅此处的文档.你可以使用$request->attributes->get('_route')或app.request.attributes.get('_route'),但它是不是可靠的,例如,它不会与转发工作,你都转发到控制器,而不是一个路径.根据Fabien(@fabpot)的创建者,它实际上仅用于调试目的,所以我不会依赖它来进行未来的升级.
边注
请记住尽可能避免$request->get(),所以不要$request->get('_route')像我在类似问题的答案中看到的那样
如果您不需要控制器的灵活性,最好从相应的公共属性显式获取请求参数(属性,查询,请求)
原因是它将查看所述公共属性(属性,查询和请求)而不仅仅是一个(属性),使其慢得多
直接在Twig做好事但你仍然可以.更好的方法是将其作为控制器的参数传递.
在Twig中获取路由参数.
{{ app.request.attributes.get('_route_params') }}
Run Code Online (Sandbox Code Playgroud)
和
在Twig中获取整个包名称.
{{ app.request.attributes.get("_controller") }}
Run Code Online (Sandbox Code Playgroud)
在Twig中获取路线名称.
{{ app.request.attributes.get('_route') }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27080 次 |
| 最近记录: |