Стандарты кодирования#

При написании шаблонов 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 %}