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- #}):- 1 2 3 - {{ foo }} {# comment #} {% if foo %}{% endif %}- When using the whitespace control character, do not put any spaces between it and the delimiter: - 1 2 3 - {{- 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 3 - {{ 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 - {{ [1, 2, 3] }} {{ {'foo': 'bar'} }}
- Do not put any spaces after an opening parenthesis and before a closing parenthesis in expressions: - 1 - {{ 1 + (2 * 3) }}
- Do not put any spaces before and after string delimiters: - 1 2 - {{ 'foo' }} {{ "foo" }}
- Do not put any spaces before and after the following operators: - |,- .,- ..,- []:- 1 2 3 4 - {{ 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: - 1 2 - {{ 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 - {{ [1, 2, 3] }} {{ {'foo': 'bar'} }}
- Use lower cased and underscored variable names: - 1 2 - {% set foo = 'foo' %} {% set foo_bar = 'foo' %}
- Indent your code inside tags (use the same indentation as the one used for the target language of the rendered template): - 1 2 3 4 5 - {% block foo %} {% if true %} true {% endif %} {% endblock %}
