控制台调用(如缓存清除或behat)抛出异常但在浏览器中一切正常

时间:2013-08-30 11:39:29

标签: php symfony assetic behat

我正在创建一个Symfony2应用程序,一切正常,但是当我尝试执行我的behat测试或清除缓存时,我收到了这个错误:

Error: Call to undefined method
Symfony\Bundle\FrameworkBundle\Templating\Loader\TemplateLocator::isFresh() in 
[...]/vendor/symfony/assetic-
bundle/Symfony/Bundle/AsseticBundle/Factory/Resource/FileResource.php line 49

TemplateLocator甚至不实现FileResource构造中所需的LoaderInterface。 任何人都有线索?

1 个答案:

答案 0 :(得分:0)

我弄清楚了问题的来源,但却没有理解。 看来我的应用程序中的某个地方叫了

$this->container->get('twig')->render("Bundle:View:action.html.twig")

我改为

$this->container->get('templating')->render("Bundle:View:action.html.twig")

twig服务是一个Twig_Environment实例,而template是一个DelegatingEngine实例,它们都允许呈现模板。 一切都很好。 如果有人能解释我发生了什么,我会很感激:)。