编码标准¶
编写Twig模板时,我们建议您遵循以下官方编码标准:
在分隔符的开头后放一个(而且只有一个)空格 (
{{{{
,{{%
和{{#
)在分隔符结尾之前 (}}}}
,%}}
和#}}
):1 2 3
{{ foo }} {# comment #} {% if foo %}{% endif %}
使用空白控制字符时,不要在它和分隔符之间放置任何空格:
1 2 3
{{- foo -}} {#- comment -#} {%- if foo -%}{%- endif -%}
在下列运算符之前和之后放置一个(且只能一个)空格:比较运算符 (
==
,!=
,<
,>
,>=
,<=
), math operators (+
,-
,/
, `` ``, ``%``, ``//``, `` *),逻辑运算符 (``not
,and
,or
)~
,is
,in
,以及三元运算符 (?:
):1 2 3
{{ 1 + 2 }} {{ foo ~ bar }} {{ true ? true : false }}
在
:
登录哈希和,
在数组和哈希中:1 2
{{ [1, 2, 3] }} {{ {'foo': 'bar'} }}
在表达式中,不要在左括号后和右括号前放置空格:
1
{{ 1 + (2 * 3) }}
不要在字符串分隔符前后放置任何空格:
1 2
{{ 'foo' }} {{ "foo" }}
请勿在下列运算符前后放置空格:
|
,.
,..
,[]
:1 2 3 4
{{ foo|upper|lower }} {{ user.name }} {{ user[name] }} {% for i in 1..12 %}{% endfor %}
不要在用于筛选器和函数调用的括号前后放置空格:
1 2
{{ foo|default('foo') }} {{ range(1..10) }}
在数组和散列的开始和结束前后不要放置任何空格:
1 2
{{ [1, 2, 3] }} {{ {'foo': 'bar'} }}
使用小写和下划线的变量名:
1 2
{% set foo = 'foo' %} {% set foo_bar = 'foo' %}
在标记内缩进代码(使用与呈现模板的目标语言相同的缩进):
1 2 3 4 5
{% block foo %} {% if true %} true {% endif %} {% endblock %}