Si quieres utilizarlo, Symfony2 incluye de serie un motor de plantillas llamado Twig que hace que las plantillas se escriban más rápido y sean más fáciles de leer.
En otras palabras, la aplicación de ejemplo desarrollada anteriormente podría incluso tener menos código. Considera por ejemplo la siguiente plantilla list
reescrita con Twig:
{# src/Acme/BlogBundle/Resources/views/Blog/list.html.twig #}
{% extends "::base.html.twig" %}
{% block title %}List of Posts{% endblock %}
{% block body %}
<h1>List of Posts</h1>
<ul>
{% for post in posts %}
<li>
<a href="{{ path('blog_show', { 'id': post.id }) }}">
{{ post.title }}
</a>
</li>
{% endfor %}
</ul>
{% endblock %}
También es muy fácil escribir la plantilla base.html.twig
correspondiente:
{# app/Resources/views/base.html.twig #}
<html>
<head>
<title>{% block title %}Default title{% endblock %}</title>
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>
Twig está completamente integrado en Symfony2. Aunque Symfony2 siempre soportará las plantillas PHP, en los siguientes capítulos se van a seguir presentando algunas de las muchas ventajas de Twig respecto a las plantillas PHP. Para más información, consulta el capítulo sobre las plantillas.