Стандарты кодирования#
При написании шаблонов Twig мы рекомендуем вам следовать этим официальным стандартам кодирования:
Ставьте один (и только один) пробел после начала разделителя (
{{,{%,{#) и до конца разделителей (}},%},#}):{{ foo }} {# комментарий #} {% if foo %}{% endif %}
При использовании управляющего символа пробела не ставьте пробелы между ним и разделителем:
{{- foo -}} {#- комментарий -#} {%- if foo -%}{%- endif -%}
Ставьте один (и только один) пробел до и после следующих операторов: операторы сравнения (
==,!=,<,>,>=,<=), математические операторы (+,-,/,*,%,//,**), логические операторы (not,and,or),~,is,inи тернарный оператор (?:):{{ 1 + 2 }} {{ foo ~ bar }} {{ true ? true : false }}
Ставьте один (и только один) пробел после
:в хешах и,в массивах и хешах:{{ [1, 2, 3] }} {{ {'foo': 'bar'} }}
Не ставьте пробелы после открывающей скобки и перед закрывающей скобкой в выражениях:
{{ 1 + (2 * 3) }}
Не ставьте пробелы до и после разделителей строк:
{{ 'foo' }} {{ "foo" }}
Не ставьте пробелы до и после следующих операторов:
|,.,..,[]:{{ foo|upper|lower }} {{ user.name }} {{ user[name] }} {% for i in 1..12 %}{% endfor %}
Не ставьте пробелы до и после скобок, используемых для вызовов фильтров и функций:
{{ foo|default('foo') }} {{ range(1..10) }}
Не ставьте пробелы до и после открытия и закрытия массивов и хешей:
{{ [1, 2, 3] }} {{ {'foo': 'bar'} }}
Используйте в нижнем регистре имена переменных и подчеркивания:
{% set foo = 'foo' %} {% set foo_bar = 'foo' %}
Сделайте отступ вашего кода внутри тегов (используйте тот же отступ, что и во всех блоках шаблона):
{% block foo %} {% if true %} true {% endif %} {% endblock %}