在symfony中只查找有名称空间的包名


Twig only finding namespaced bundle names in symfony

我刚从Symfony 2.0升级到2.5。我在从bundle中的控制器中渲染模板时遇到了问题我们把它命名为DemoBundle:

$this->render("AcmeDemoBundle:Index:index.html.twig");

Twig正在寻找AcmeDemoBundle,但只知道命名空间@AcmeDemo

因此,当我将控制器代码更改为以下内容时,它可以工作:

$this->render("@AcmeDemo/Index/index.html.twig");

为什么twig只理解命名空间的包名而不理解全名?

我错过了什么在小枝配置?我正在运行PHP 5.3.3。

找到了根本原因。在控制台中,我从webapp用户没有读取权限的路径调用php app/console cache:clear。因为twig缓存了一些包含这些绝对路径的配置文件,所以当它作为webuser执行时无法读取模板。