Twig嵌入vs include,任何使用include的原因

时间:2013-10-31 15:07:41

标签: php symfony twig

为什么不总是使用嵌入?

根据文档,embed标签结合了include和extend标签的行为。

据我所知,在很多情况下你不需要做扩展,只想渲染另一个模板的内容,但在我看来,你可以随时使用嵌入并服务于此目的。嵌入的性能影响是否有任何意义?我缺少任何功能差异?

1 个答案:

答案 0 :(得分:15)

我将总结EmbedInclude之间的差异和相似之处,如下所示,

  • 两者都被添加到twig中以使HTML代码片段可重复使用。
  • 两者都用于模板的功能分离(页脚,标题......)
  • 两者都是动态的。
  • Include用于包装具有非灵活HTML结构的代码。
  • Embed允许灵活性。

根据差异,当您需要将模板拆分为多个功能子模板并在其他地方重用已包装的代码时,Include应仅使用

当您需要自定义可重复使用的模板时使用Embed

因此,它更多的是设计而不是其他任何事情(性能,代码执行......)

选择适合您需求的助手。