Twig es un motor de plantillas para PHP que permite separar la lógica de la aplicación del diseño y la presentación. Fue desarrollado por Fabien Potencier, el creador del framework Symfony, y se ha convertido en una de las herramientas más utilizadas para trabajar con vistas en proyectos PHP modernos.
En pocas palabras, Twig facilita la creación de páginas HTML dinámicas mediante una sintaxis sencilla y clara, evitando mezclar directamente PHP con el código HTML.
Principales características de Twig
Sintaxis limpia y legible
La sintaxis de Twig está inspirada en otros motores de plantillas como Jinja2 (Python). Se utiliza una notación clara con llaves ({{ }}) para mostrar variables y con {% %} para escribir estructuras de control como bucles o condicionales.
Ejemplo:
<h1>Hola, {{ nombre }}!</h1>
{% if edad >= 18 %}
<p>Eres mayor de edad.</p>
{% else %}
<p>Eres menor de edad.</p>
{% endif %}
Separación entre lógica y presentación
El código PHP no se incrusta directamente en la plantilla. En lugar de eso, Twig recibe datos desde el controlador y se limita a mostrarlos o procesarlos mínimamente. Esto mejora la mantenibilidad y la seguridad del proyecto.
Herencia de plantillas
Twig permite definir una plantilla base y extenderla en otras vistas. Esto es muy útil para reutilizar estructuras como cabeceras, menús o pies de página.
Ejemplo:
{# base.html.twig #}
<html>
<head>
<title>{% block titulo %}Mi Sitio{% endblock %}</title>
</head>
<body>
<header>Encabezado</header>
<main>
{% block contenido %}{% endblock %}
</main>
<footer>Pie de página</footer>
</body>
</html>
{# pagina.html.twig #}
{% extends "base.html.twig" %}
{% block titulo %}Página de inicio{% endblock %}
{% block contenido %}
<h1>Bienvenido a mi sitio</h1>
{% endblock %}
Filtros y funciones integradas
Twig incluye filtros para transformar datos fácilmente.
{{ "hola mundo"|upper }} {# Resultado: HOLA MUNDO #}
{{ fecha|date("d/m/Y") }} {# Formatea la fecha #}
Seguridad
Twig escapa automáticamente las variables al mostrarlas en HTML, lo que ayuda a prevenir ataques de XSS (Cross-Site Scripting).
¿Dónde se usa Twig?
- Symfony: es el motor de plantillas por defecto.
- Drupal: el CMS usa Twig para generar las vistas.
- Otros proyectos en PHP: puede integrarse en cualquier aplicación PHP gracias a su independencia como librería.
Ventajas de usar Twig
- Plantillas fáciles de leer y mantener.
- Código más seguro gracias al escape automático.
- Reutilización mediante bloques y herencia.
- Comunidad activa y amplia documentación.
- Compatible con proyectos fuera de Symfony.
Conclusión
Twig es una herramienta clave en el ecosistema PHP que mejora la forma en que se construyen las vistas. Permite mantener un código más organizado, seguro y reutilizable, separando la lógica de negocio de la presentación.
Por todo ello, si trabajas con PHP —ya sea en Symfony, Drupal o cualquier otro proyecto—, aprender Twig es una excelente inversión para crear aplicaciones web más limpias y profesionales.

Deja una respuesta