Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

102 lines (67 sloc) 2.367 kB

Coding Standards

When writing Twig templates, we recommend you to follow these official coding standards:

  • Put one (and only one) space after the start of a delimiter ({{, {%, and {#) and before the end of a delimiter (}}, %}, and #}):

    {{ foo }}
    {# comment #}
    {% if foo %}{% endif %}

    When using the whitespace control character, do not put any spaces between it and the delimiter:

    {{- foo -}}
    {#- comment -#}
    {%- if foo -%}{%- endif -%}
  • Put one (and only one) space before and after the following operators: comparison operators (==, !=, <, >, >=, <=), math operators (+, -, /, *, %, //, **), logic operators (not, and, or), ~, is, in, and the ternary operator (?:):

    {{ 1 + 2 }}
    {{ foo ~ bar }}
    {{ true ? true : false }}
  • Put one (and only one) space after the : sign in hashes and , in arrays and hashes:

    {{ [1, 2, 3] }}
    {{ {'foo': 'bar'} }}
  • Do not put any spaces after an opening parenthesis and before a closing parenthesis in expressions:

    {{ 1 + (2 * 3) }}
  • Do not put any spaces before and after string delimiters:

    {{ 'foo' }}
    {{ "foo" }}
  • Do not put any spaces before and after the following operators: |, ., .., []:

    {{ foo|upper|lower }}
    {{ user.name }}
    {{ user[name] }}
    {% for i in 1..12 %}{% endfor %}
  • Do not put any spaces before and after the parenthesis used for filter and function calls:

    {{ foo|default('foo') }}
    {{ range(1..10) }}
  • Do not put any spaces before and after the opening and the closing of arrays and hashes:

    {{ [1, 2, 3] }}
    {{ {'foo': 'bar'} }}
  • Use lower cased and underscored variable names:

    {% set foo = 'foo' %}
    {% set foo_bar = 'foo' %}
  • Indent your code inside tags (use the same indentation as the one used for the main language of the file):

    {% block foo %}
       {% if true %}
           true
       {% endif %}
    {% endblock %}
Jump to Line
Something went wrong with that request. Please try again.