树枝标签包含与功能包含

2022-08-30 21:14:30

Twig的标签包含文档看起来与函数包含非常相似。

标签包括:

{% include 'header.html' %}

功能包括:

{{ include('template.html') }}

有人能指出在什么情况下,一个比另一个更可取吗?谢谢!


答案 1

{{ include() }}在Symfony 2.2中引入了:

使用函数可以让你对输出做任何你想做的事情(这对于标签来说是不可能的),就像一个简单的:

{{ set content = include('some_template') }}

但正如Fabien Potentier(twig创始人)所说

函数和标签确实完全相同

你可以在这里找到关于它介绍的讨论:https://github.com/twigphp/Twig/pull/926


答案 2

包含标记的 Twig 3.x 文档现在声明:

建议改用 include 函数,因为它提供了相同的功能,并且灵活性更高:

  • include函数在语义上更“正确”(包括模板在当前范围内输出其呈现的内容;标签不应显示任何内容);

  • 包含函数更“可组合”:

  • 由于命名参数,include 函数不会对参数施加任何特定顺序。


推荐