【问题标题】:Twig embed vs include, any reason to use include树枝嵌入与包含,任何使用包含的理由
【发布时间】:2013-10-31 15:07:41
【问题描述】:

为什么不总是使用嵌入?

根据文档,嵌入标签结合了包含和扩展标签的行为。

我知道,在很多情况下,您不需要进行扩展,而只想渲染另一个模板的内容,但在我看来,您总是可以使用 embed 来实现该目的。嵌入是否有任何性能影响需要注意?我缺少任何功能差异吗?

【问题讨论】:

标签: php symfony twig


【解决方案1】:

我将Embed和Include之间的异同总结如下,

  • 两者都被添加到 twig 以使 HTML 代码 sn-ps 可重用。
  • 两者都用于模板的功能分离(页脚、页眉、...)
  • 两者都是动态的。
  • Include 用于包装 HTML 结构不灵活的代码。
  • Embed 提供灵活性。

基于差异,Include 应该仅在您需要将模板拆分为许多功能子模板并在其他地方重用包装代码时使用。

Embed 用于需要自定义可重用模板时。

所以,它更多的是设计问题(性能、代码执行……)

选择适合您需要的助手。

【讨论】:

  • 好的,谢谢,但我的问题是:嵌入允许灵活性,为什么不总是使用它。即使您的模板现在不需要灵活的结构,将来也可能需要,这将阻止您进行更改
  • 我更新了我的答案,你可以在任何地方使用嵌入,这是设计问题。我个人过去只在需要时使用嵌入。
  • 谢谢,你能确认两者之间没有性能差异吗?
  • 是的,没有重大的性能问题,因为它与扩展助手完成了相同的工作。如果您在模板中嵌入控制器调用,性能将是一个严重的限制。
猜你喜欢
  • 1970-01-01
  • 2015-04-22
  • 2017-07-22
  • 2016-02-20
  • 2015-03-21
  • 1970-01-01
  • 2020-12-04
  • 2013-09-26
  • 1970-01-01
相关资源
最近更新 更多