文档 编码标准
编码标准
注意
Twig CS fixer tool 使用本文档中描述的编码标准来自动修复您的模板。
在编写 Twig 模板时,我们建议您遵循这些官方编码标准
在分隔符开始符(
{{
、{%
和{#
)之后以及分隔符结束符(}}
、%}
和#}
)之前,各放置一个空格1 2 3
{{ user }} {# comment #} {% if user %}{% endif %}
当使用空白控制字符时,请勿在其与分隔符之间放置任何空格
1 2 3
{{- user -}} {#- comment -#} {%- if user -%}{%- endif -%}
在以下运算符的前后各放置一个空格:比较运算符(
==
、!=
、<
、>
、>=
、<=
)、数学运算符(+
、-
、/
、*
、%
、//
、**
)、逻辑运算符(not
、and
、or
)、~
、is
、in
以及三元运算符(?:
)1 2 3
{{ 1 + 2 }} {{ first_name ~ ' ' ~ last_name }} {{ is_correct ? true : false }}
在映射中的
:
符号之后以及序列和映射中的,
之后,各放置一个空格1 2
[1, 2, 3] {'name': 'Fabien'}
在表达式中,请勿在左括号之后和右括号之前放置任何空格
1
{{ 1 + (2 * 3) }}
请勿在字符串分隔符前后放置任何空格
1 2
{{ 'Twig' }} {{ "Twig" }}
请勿在以下运算符前后放置任何空格:
|
、.
、..
、[]
1 2 3 4
{{ name|upper|lower }} {{ user.name }} {{ user[name] }} {% for i in 1..12 %}{% endfor %}
请勿在用于过滤器和函数调用的括号前后放置任何空格
1 2
{{ name|default('Fabien') }} {{ range(1..10) }}
请勿在序列和映射的开头和结尾括号前后放置任何空格
1 2
[1, 2, 3] {'name': 'Fabien'}
在宏参数声明中的
=
前后各放置一个空格1
{% macro html_input(class = "input") %}
当使用命名参数时,在
:
符号之后放置一个空格1
{{ html_input(class: "input") }}
对于所有变量名(由应用程序提供并在模板中创建)、函数/过滤器/测试名称、参数名称和命名参数,使用蛇形命名法
1 2 3 4 5 6 7 8 9
{% set name = 'Fabien' %} {% set first_name = 'Fabien' %} {{ 'Fabien Potencier'|to_lower_case }} {{ generate_random_number() }} {% macro html_input(class_name) %} {{ html_input(class_name: 'pwd') }}
在标签内缩进您的代码(使用与渲染模板的目标语言相同的缩进)
1 2 3 4 5
{% block content %} {% if true %} true {% endif %} {% endblock %}
使用
:
而不是=
来分隔参数名称和值1
{{ data|convert_encoding(from: 'iso-2022-jp', to: 'UTF-8') }}