未启用Symfony2演示扩展

时间:2011-11-22 16:27:42

标签: php symfony

我开始学习symfony2,并与供应商一起下载了symfony。但我没有在生产环境中运行symfony,他返回以下错误:

  

request.CRITICAL:Twig_Error_Runtime:第9行的“AcmeDemoBundle:Demo:hello.html.twig”中未启用“demo”扩展名

我尝试过像这样设置config.yml:

services:
     twig.extension.acme.demo:
         class: Acme\DemoBundle\Twig\Extension\DemoExtension
         tags:
             - {Name: twig.extension}
         arguments:
             - @ Twig.loader

我试图在autoload.php中添加捆绑Acme,但仍然无法正常工作......仍然会出现同样的错误。

使其工作的唯一方法是在此行上将debug设置为true:

$kernel = new AppKernel ('prod', false);

但我不想在生产环境中这样做,因为它不会很好。

有人可以帮我吗?

Ps。:抱歉我的英文

修改

在视图中有这样的代码:{%set code = code(_self)%}

如果我将零件代码(_self)改为其他东西,它可以完美地工作......

但是,为什么不运行该代码呢?

2 个答案:

答案 0 :(得分:1)

您可能遇到此问题,因为您正在访问仅在开发环境中加载AcmeDemoBundle的产品版本。

确保您访问app_dev.php(开发环境),而不是使用.htaccessapp.php(生产环境)方法。

注意:我假设你正在玩的代码不是生产代码。如果是,您应该在自己的包中创建在所有环境中加载的枝条扩展。

答案 1 :(得分:0)

注意语法:

services:
  twig.extension.acme.demo:
    class: Acme\DemoBundle\Twig\Extension\DemoExtension
    arguments:
         - @twig.loader
    tags:
         - { name: twig.extension }