Al escribir plantillas Twig, te recomendamos que sigas las siguientes normas de codificación oficiales:
Deja un espacio (y sólo uno) después de un delimitador inicial ({{, {%, y {#) y antes del final de un delimitador (}}, %}, y #}):
{{ foo }}
{# comentario #}
{% if foo %}{% endif %}
Cuando utilices los caracteres de guión junto con el espacio en blanco, no dejes ningún espacio entre este y el delimitador:
{{- foo -}}
{#- comentario -#}
{%- if foo -%}{%- endif -%}
Deja un espacio (y sólo uno) antes y después de los siguientes operadores: operadores de comparación (==, !=, <, >, >=, <=), operadores matemáticos (+, -, /, *, %, //, **), operadores lógicos (not, and, or), ~, is, in, y el operador ternario (?:):
{{ 1 + 2 }}
{{ foo ~ bar }}
{{ true ? true : false }}
Deja un espacio (y sólo uno) después del signo : en hashes (o codificaciones en adelante), y la , en arreglos y codificaciones:
{{ [1, 2, 3] }}
{{ {'foo': 'bar'} }}
No dejes ningún espacio después de un paréntesis de apertura y antes de un paréntesis de cierre en expresiones:
{{ 1 + (2 * 3) }}
No dejes ningún espacio en blanco antes y después de los delimitadores de cadena:
{{ 'foo' }}
{{ "foo" }}
No dejes ningún espacio en blanco antes y después de los siguientes operadores: |, ., .., []:
{{ foo|upper|lower }}
{{ user.name }}
{{ user[name] }}
{% for i in 1..12 %}{% endfor %}
No dejes ningún espacio en blanco antes y después de los paréntesis utilizados en filtros y llamadas a función:
{{ foo|default('foo') }}
{{ range(1..10) }}
No dejes ningún espacio en blanco antes y después de la apertura de arreglos y codificaciones:
{{ [1, 2, 3] }}
{{ {'foo': 'bar'} }}
Utiliza letras minúsculas y guiones bajos en nombres de variables:
{% set foo = 'foo' %}
{% set foo_bar = 'foo' %}
Sangra tu código dentro de las etiquetas (usa la misma profundidad que la utilizada en el lenguaje principal del archivo):
{% block foo %}
{% if true %}
true
{% endif %}
{% endblock %}