Twig只在symfony中查找命名空间的bundle名称

时间:2014-06-24 15:39:22

标签: php symfony twig

我只是从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只了解命名空间的包名而不是全名?

我是否错过了Twig Config中的某些内容?我正在运行PHP 5.3.3。

1 个答案:

答案 0 :(得分:0)

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