【发布时间】:2014-08-11 07:46:56
【问题描述】:
class AdminExtension extends \Twig_Extension
{
// content...
}
我正在通过添加一个添加新 twig 方法的类来扩展 twig 功能。在这种方法中,我想使用当前路线。我该怎么做?
我的意思是,例如,拥有:
www.someurl.com/prefix/controller1/aaa/bbb/ccc/ddd
我想在我描述的函数中获取controller1/aaa/bbb/ccc/ddd 部分。
谢谢!
【问题讨论】:
-
你的
Twig_Extension类应该被定义为一个服务,然后你可以在那里注入request服务,尽管你可能会遇到一些服务范围问题。然后,request服务有一个getRequestUri()方法,该方法将准确返回其名称状态。 -
确实,我正在注入RouterInterface服务,但是如何得到我所描述的呢?
-
你需要
request,而不是router。 -
从同一个
Request类中尝试getUri()方法:api.symfony.com/2.5/index.html?q=HttpFoundation\Request#method_getRequestUri
标签: symfony