4

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

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

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

这意味着只能通过小步骤迁移到 TWIG,即在必须部署新版本之前,我只能迁移少数模板。我要添加的功能也会有一些新模板,我也希望以 TWIG 格式添加这些模板。

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

在线查看文档,可以同时启用 PHP 和 TWIG 模板引擎。但是,我找不到任何教程、示例或文档提到您不仅可以同时拥有这两个引擎,而且还可以拥有来自一个引擎的模板,包括来自另一个引擎的模板。

正如我所描述的,有没有办法混合来自这两个引擎的模板?

4

1 回答 1

4

即使两个引擎之间有相似之处(它们仍然做同样的事情),它们在内部以自己的方式工作,架构和代码非常不同。

看看这两个代码,你就会明白为什么我们不能比较/混合它们。

例如:

  • 来自 php 引擎的插槽使用字符串覆盖
  • 树枝引擎中的块与类重载一起使用

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

于 2014-12-02T06:12:08.703 回答