我的路线是
admin:
path: /admin/
defaults: { _controller: CatalogWebBundle:Admin:admin }
如何在 PHP 模板中获取路由名称?
获取当前 URL
$request->getRequestUri(); http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/Request.html#method_getRequestUri or app.request.uri
至于路线本身,最佳实践是将其作为参数注入控制器中,请参阅这里的医生 https://symfony.com/doc/master/routing.html#extra-parameters。你可以使用$request->attributes->get('_route')
or app.request.attributes.get('_route')
但它并不那么可靠,例如它不适合前锋 https://github.com/symfony/symfony/issues/854#issuecomment-10904110当您转发到控制器而不是路径时。而且它真的只是根据创建者 Fabien (@fabpot) 的说法,用于调试目的 https://github.com/symfony/symfony/issues/854#issuecomment-1123531,所以我不会为了未来的升级而依赖它。
Sidenote
记得avoid $request->get() https://github.com/symfony/http-foundation/blob/3.0/Request.php#L707任何时候都可以,所以不$request->get('_route')
正如我在类似问题的一些答案中看到的
如果您不需要控制器的灵活性,最好
从适当的公共属性显式获取请求参数
相反(属性、查询、请求)
原因是它会查看所述公共属性(属性、查询和请求)而不是仅查看公共属性(属性),从而使其速度慢得多
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)