Esta es la documentación de Twig, el flexible, rápido y seguro motor de plantillas para PHP.
Si has estado expuesto a otros lenguajes de plantilla basados en texto, tal como Smarty, Django o Jinja, debes sentirte como en casa con Twig. Es a la vez, un amigable ambiente para el diseñador y desarrollador apegado a los principios de PHP, añadiendo útil funcionalidad a los entornos de plantillas.
Las características clave son...
Twig necesita por lo menos PHP 5.2.4 para funcionar.
Tienes varias formas de instalar Twig. Si no estás seguro qué hacer, descarga el archivo comprimido (tarball).
Instala desde Subversión o Git
Para Git:
git clone git://github.com/fabpot/Twig.git
Para Subversión:
svn co http://svn.twig-project.org/trunk/ twig
curl -s http://getcomposer.org/installer | php
{
"require": {
"twig/twig": "1.*"
}
}
php composer.phar install
Nota
Si quieres aprender más sobre Composer, la sintaxis del archivo composer.json y su uso, puedes leer la documentación en línea.
Nuevo en la versión 1.4: La extensión C se añadió en Twig 1.4.
Twig viene con una extensión C que mejora el rendimiento del motor Twig en tiempo de ejecución. La puedes instalar como cualquier otra extensión de PHP:
$ cd ext/twig
$ phpize
$ ./configure
$ make
$ make install
Por último, activa la extensión en tu archivo de configuración php.ini:
extension=twig.so
Y a partir de ahora, Twig compilará automáticamente tus plantillas para tomar ventaja de la extensión C. Ten en cuenta que esta extensión no sustituye el código PHP, solamente proporciona una versión optimizada del método Twig_Template::getAttribute().
Truco
En Windows también, puedes simplemente descargar e instalar una extensión DLL preconstruida.
Esta sección te ofrece una breve introducción a la API PHP de Twig.
El primer paso para utilizar Twig es registrar su cargador automático:
require_once '/ruta/a/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
Sustituye /ruta/a/lib/ con la ruta que utilizaste en la instalación de Twig.
Si instalaste Twig vía Composer puedes aprovechar el mecanismo de autocarga de Composer reemplazando el fragmento anterior por:
require_once '/ruta/a/vendor/autoload.php'
Nota
Twig sigue la convención de nombres de PEAR para sus clases, lo cual significa que puedes integrar fácilmente las clases de Twig cargándolo en tu propio cargador automático.
$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader);
echo $twig->render('Hello {{ name }}!', array('name' => 'Fabien'));
Twig utiliza un cargador (Twig_Loader_String) para buscar las plantillas, y un entorno (Twig_Environment) para almacenar la configuración.
El método render() carga la plantilla pasada como primer argumento y la reproduce con las variables pasadas como segundo argumento.
Debido a que las plantillas generalmente se guardan en el sistema de archivos, Twig también viene con un cargador del sistema de archivos:
$loader = new Twig_Loader_Filesystem('/ruta/a/templates');
$twig = new Twig_Environment($loader, array(
'cache' => '/ruta/a/compilation_cache',
));
echo $twig->render('index.html', array('name' => 'Fabien'));