Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Twig嵌入vs包含,是否有使用包含的理由_Php_Symfony_Twig - Fatal编程技术网

Php Twig嵌入vs包含,是否有使用包含的理由

Php Twig嵌入vs包含,是否有使用包含的理由,php,symfony,twig,Php,Symfony,Twig,为什么不总是使用嵌入 根据文档,嵌入标记结合了include和extend标记的行为 我知道,在很多情况下,您不需要进行扩展,只需要呈现另一个模板的内容,但在我看来,您可以始终使用嵌入来实现这一目的。是否需要注意嵌入的性能影响?我遗漏了哪些功能差异?我将把和之间的差异和相似之处总结如下: 它们都被添加到twig中,以使HTML代码片段可重用 两者都用于模板的功能分离(页脚、页眉等) 两者都是动态的 用于包装具有非灵活HTML结构的代码 允许灵活性 基于这些差异,仅当需要将模板拆分为多个功能子

为什么不总是使用嵌入

根据文档,嵌入标记结合了include和extend标记的行为


我知道,在很多情况下,您不需要进行扩展,只需要呈现另一个模板的内容,但在我看来,您可以始终使用嵌入来实现这一目的。是否需要注意嵌入的性能影响?我遗漏了哪些功能差异?

我将把和之间的差异和相似之处总结如下:

  • 它们都被添加到twig中,以使HTML代码片段可重用
  • 两者都用于模板的功能分离(页脚、页眉等)
  • 两者都是动态的
  • 用于包装具有非灵活HTML结构的代码
  • 允许灵活性
基于这些差异,仅当需要将模板拆分为多个功能子模板并在其他地方重用包装的代码时,才应使用

当您需要自定义可重用模板时,使用While

因此,这更多的是设计问题,而不是任何其他问题(性能、代码执行等)


选择适合您需要的帮助者。

好的,谢谢,但我的问题是:嵌入允许灵活性,为什么不总是使用它呢。即使你的模板现在不需要一个灵活的结构,将来也可能需要,这将防止你不得不做出改变。我更新了我的答案,你可以在任何地方使用嵌入,这是一个设计问题。我个人过去只在需要时才使用embed。谢谢,您能确认两者之间没有性能差异吗?是的,没有重大性能问题,因为它与extend helper的工作相同。如果您在模板中嵌入控制器调用,性能将是一个严重的限制。类似的问题——“扩展或包括-在细枝中什么更好?”: