可以通过两种不同的方式包含文件:
{% include 'fic.html.twig' %}
{{ include('fic.html.twig') }}
这两种方法有什么区别?
来源:
答案 0 :(得分:13)
标签不如功能灵活,例如:
1)如果要重复两次,请将文件内容存储在变量中:
{% set content = include('test.twig') %}
而不是:
{% set content %}
{% include 'test.twig' %}
{% endset %}
2)如果你想添加过滤器:
{{ include('alert.twig') | upper }}
它的标签等价物:
{% set temp %}
{% include 'alert.twig' %}
{% endset %}
{{ temp | upper }}
你知道,{{ include }}
而不是{% include %}
不会改变这个世界,但是当你需要使用Twig做一些棘手的事情时,会消除一些复杂性。
此外,根据documentation,它似乎建议使用{{ include() }}
来配合最佳做法:
{{ }} is used to print the result of an expression evaluation;
{% %} is used to execute statements.
答案 1 :(得分:3)
来自Twig的changelog:
* 1.12.0-RC1 (2012-12-29)
* added an include function (does the same as the include tag but in a more flexible way)
答案 2 :(得分:1)
我认为它具有相同的功能,但{% include '' %}
是标记,{{ include('') }}
是一个功能。也许如果你想覆盖这个功能,它可能比标签更容易。
答案 3 :(得分:0)
来自Symfony 2.8(LTS)documentation
2.3 自Symfony 2.3以来,include()函数可用。之前,使用了{%include%}标记。