Twig中{%include''%}和{{include('')}}之间的差异

Joh*_*nyC 9 include symfony twig

可以通过两种不同的方式包含文件:

{% include 'fic.html.twig' %} 
{{ include('fic.html.twig') }} 
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么区别?

资源:

Ala*_*blo 13

标签不如功能灵活,例如:

1)如果要将文件的内容存储在变量中,如果要重复两次:

{% set content = include('test.twig') %}
Run Code Online (Sandbox Code Playgroud)

代替:

{% set content %}
{% include 'test.twig' %}
{% endset %}
Run Code Online (Sandbox Code Playgroud)

2)如果要添加过滤器:

{{ include('alert.twig') | upper }}
Run Code Online (Sandbox Code Playgroud)

它的标签相当于:

{% set temp %}
{% include 'alert.twig' %}
{% endset %}
{{ temp | upper }}
Run Code Online (Sandbox Code Playgroud)

你会看到,{{ include }}而不是{% include %}不会改变世界,但是当你需要使用Twig做一些棘手的事情时,会删除一些复杂性.

此外,根据文档,它看起来建议使用{{ include() }}以符合最佳实践:

{{ }} is used to print the result of an expression evaluation;
{% %} is used to execute statements.
Run Code Online (Sandbox Code Playgroud)