Ramita

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 1 de diciembre de 2018; las comprobaciones requieren 2 ediciones .
Ramita
Tipo de procesador de plantillas
Autor Armin Ronacher, Fabien Potencier
Desarrollador Fabien Potencier, Sensio Labs
Escrito en PHP
Sistema operativo multiplataforma
Primera edición 12 de octubre de 2008
ultima versión
Estado actual
Licencia BSD
Sitio web ramita.symfony.com

Twig  es un compilador de plantillas de código abierto escrito en el lenguaje de programación PHP . Armin Ronacher escribió Twig en 2008 para la plataforma de blogs Chyrp. No volvió al desarrollo de nuevo y estuvo más involucrado en el desarrollo de Python . La sintaxis del lenguaje de plantillas Twig se origina en los motores de plantillas Jinja y Django , el primero de los cuales también fue creado por Ronacher. La idea de este motor de plantillas está desarrollada y respaldada por Fabien Potensier, el desarrollador principal e ideólogo del framework Symfony , que usa Twig por defecto.

Fabien mismo habla de él:

Cuando comencé a buscar un generador de plantillas de PHP, me enfoqué en bibliotecas que imitan el comportamiento de Django. Después de unas horas de buscar en Google, se encontró a Twig. Su autor es Armin Ronacher, conocido por el proyecto Jinja (motor de plantillas de Python). Sin duda, tengo el mayor respeto por Armin por su increíble trabajo en Jinja. Twig se parece más a Jinja que a Django, como se describe en la implementación.

Cuando miré el código, inmediatamente supe que esto era lo que estaba buscando. La principal diferencia con Calypso es que Twig compila plantillas en código PHP normal. Empecé a usar esta biblioteca y al final de esta semana le pregunté a Armin si le gustaría darle una nueva vida a su proyecto. Su respuesta fue entusiasta y comencé a estudiar el código. Mi versión es muy diferente a la de Armin, pero el "lexer" y el "parser" se mantienen casi en su forma original.

Solo pasé unos días trabajando en el código, pero ya estoy orgulloso del resultado y creo que es hora de mostrar la biblioteca públicamente. Ayer escribí la documentación e hice un sitio web simple. Todavía queda mucho trabajo: terminar la documentación, agregar pruebas y PHPDoc; pero el código ya está completo y funcional:

Aunque Twig es el motor de plantillas más funcional, también es el más rápido.

Traducción de un artículo de un blog personal

Sintaxis

Ejemplo

El siguiente ejemplo demuestra algunas de las características principales de Twig.

{% extiende "base.html" %} {% bloquea la navegación %} < ul id = "navegación" > {% para el elemento en la navegación %} < li > < a href = " {{ item.href }} " > { % if item.level == 2 %}    {% endif %} {{ elemento.título | superior }} </ a > </ li > {% endfor %} </ ul > {% navegación de bloque final % }

Véase también

Notas

  1. Versión 3.4.3 - 2022.

Enlaces