我正在尝试在Symfony 2.3项目中激活Twig StringLoader Extension但是无法正确使用yaml语法 .
这篇文章引用了一个帖子上的answer by Heyflynn来处理完全相同的问题,但提供了一个不起作用的解决方案(对我来说) .
在我的app / config / config.yml中编写以下行只是给出了以下异常:
# app/config/config.yml
acme.twig.extension.loader:
class: Twig_Extension_StringLoader
tags:
- { name: 'twig.extension' }
给我这个:
FileLoaderLoadException:无法从“... / app / config / config_dev.yml”导入资源“... / app / config / config.yml” . (没有扩展能够加载“acme.twig.extension.loader”的配置(在... / app / config / config.yml中) . 查找命名空间“acme.twig.extension.loader”,找到“框架“,”安全“,”twig“,”monolog“,”swiftmailer“,”assetic“,”doctrine“,”sensio_framework_extra“,”apy_data_grid“,”项目“,”acme_demo“,”web_profiler“,”sensio_distribution“ )
(我已经想知道acme.twig.extension.loader中的acme外观并将其替换为项目包的名称,但这又给了我同样的例外 . 只是切断它也不起作用 . )
请帮忙!
1 回答
Twig不是acme包的一部分,Twig是供应商包本身,因此错误是正确的 . 没有像acme.twig.extension.loader这样的命名空间
固定代码是:
这可以添加到
/app/config/config.yml
以在每个包中使用或将其添加到您的包文件夹中/Resources/config/services.yml
以仅在特定包中使用 .然后在twig模板中使用它们:
上面的内容适用于Symfony v2.5