我可以在TWIG基本模板中包含PHP模板,反之亦然?

时间:2014-12-01 13:20:34

标签: symfony twig symfony-2.6

我目前正在重构和重组现有的Symfony 2应用程序。

有一些基本模板,所有其他模板都从它们继承。现在,所有模板都是PHP。我打算将应用程序迁移到TWIG。

问题是此应用程序已在使用中,在迁移时我还希望为应用程序添加新功能。这意味着我无法冻结应用程序的当前状态,完全迁移到TWIG,然后继续使用它。

这意味着只能在很小的步骤中迁移到TWIG,即在我必须部署新版本之前,我只能迁移少量模板。我将添加一些新的模板,我也希望以TWIG格式添加这些模板。

我现在的计划是先将基本模板迁移到TWIG,然后将现有的PHP模板包含在这些新的基本模板中。之后,我会继续小批量迁移其他模板。

在线查看文档,可以同时启用PHP和TWIG模板引擎。但是,我找不到任何教程,示例或文档,提到您不仅可以将这两个引擎并排放置,而且还可以从一个引擎中获得包含来自其他引擎的模板的模板。

有没有办法像我描述的那样混合来自这两个引擎的模板?

1 个答案:

答案 0 :(得分:4)

即使两个引擎之间存在相似之处(它们仍然执行相同的操作),它们也以自己的方式在内部工作,体系结构和代码非常不同。

查看这两个代码,您就会明白为什么我们无法比较/混合它们。

例如:

    来自php引擎的
  • 插槽使用字符串覆盖
  • 来自twig引擎的块使用类重载

因此,即使您能够使用棘手的导入访问twig编译的文件,您也无法通过您的php模板不是类的简单事实来重载块。