Symfony2 多枝扩展

标签 symfony twig symfony-2.1

是否可以创建多个 Twig 扩展?因为当我添加第二个时,我收到第一个扩展方法在第二个扩展中不存在的错误消息。

以下是我的扩展在 services.xml 中的定义方式:

<service id="acme.extension.view_helper" class="FLS\AcmeBundle\Extension\ViewHelperExtension">
        <argument type="service" id="doctrine.orm.entity_manager" />
        <tag name="twig.extension" />
 </service>

<service id="acme.extension.stats_helper" class="FLS\AcmeBundle\Extension\StatsExtension">
        <argument type="service" id="doctrine.orm.entity_manager" />
        <tag name="twig.extension" />
</service>

这是错误消息:

Fatal error: Call to undefined method FLS\AcmeBundle\Extension\StatsExtension::findTask() in F:\www\AcmeBundle\app\cache\dev\twig\fe\fd\4ff31bf8efd0669b6d0b2a14ba11.php on line 232



findTask 方法在 ViewHelperExtension 中定义。

提前致谢!

最佳答案

编辑:TL;博士。是的。有可能

我现在才遇到这个问题。就我而言,原因是我开始使用相同的样板文件来处理扩展和 getName()。每个内部的函数都返回相同的名称。

一旦我更改了函数在每个扩展上返回的名称,两个扩展都被添加了。我假设类似以下内容会起作用:

在 src/AppBundle/Twig/AppBundleFooExtension.php

/* ... */
public function getName()
{
    return 'appbundle_foo_extension';
}
/* ... */

在 src/AppBundle/Twig/AppBundleBarExtension.php
/* ... */
public function getName()
{
    return 'appbundle_bar_extension';
}
/* ... */

关于Symfony2 多枝扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14329542/

相关文章:

symfony - 扩展 EntityType 以允许通过 AJAX 调用设置额外的选择

validation - Symfony 自定义验证约束传递参数

symfony - 混合内容错误 http 与 https

php - 如何修复 "Add myBundle to the asseticBundle config"symfony2 异常?

php - Twig:工作国际化 (i18n) 示例

datepicker - 奏鸣曲管理包 : DatePicker range

postgresql - 让 Doctrine 2 ORM 通过针对具有连接的表的自定义查询来混合对象

PHP/Symfony : Why does a TwigExtension get a different service instance injected than a Controller?

php - Symfony 2.3 如何将按钮组合在一个表单组中?

symfony - 如何在symfony2中隐藏图像和文件的物理路径