¿Qué es Twig?
●
Lenguaje de plantillas para PHP.
●
Creado por Fabien Potencier.
●
Totalmente integrado en Symfony2.
●
Similar al lenguage de plantillas de
Django.
●
Una de las características de Symfony2
más populares.
Slide 3
Slide 3 text
PHP vs. Plantillas
Slide 4
Slide 4 text
PHP vs. Plantillas
Slide 5
Slide 5 text
PHP vs. Plantillas
Slide 6
Slide 6 text
Symfony2 tiene que tener esto
Slide 7
Slide 7 text
¿Y no hay lenguajes
de plantillas en PHP?
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
A Fabien no le gustan
Razones aquí:
http://fabien.potencier.org/article/34/templating-engines-in-php
Slide 10
Slide 10 text
Así que “nace”
Twig
Slide 11
Slide 11 text
Elementos de
Twig
Slide 12
Slide 12 text
Básico
Mostrar datos
Definir estructuras
Slide 13
Slide 13 text
Manejo de
variables
Slide 14
Slide 14 text
Acceso a variables
Slide 15
Slide 15 text
Acceso a variables
●
Comprueba si foo es un array y bar un elemento.
●
Si no, comprueba si foo es un objeto y bar una propiedad.
●
Si no, comprueba si foo es un objeto y bar un método.
●
Si no, comprueba si foo es un objeto y getBar es un método
●
Si no, comprueba si foo es un objeto e isBar es un método.
Mis funciones: Fáciles de usar
MyFunction says Hello!
Slide 53
Slide 53 text
Macros
Slide 54
Slide 54 text
Macros: fáciles de crear
Slide 55
Slide 55 text
Macros: fáciles de usar
Slide 56
Slide 56 text
Escape de
variables
Slide 57
Slide 57 text
¡¡En Symfony2 está
activado por defecto!!
Slide 58
Slide 58 text
Y además...
Slide 59
Slide 59 text
¡Más cositas!
●
Soporte en muchos editores:
●
Vim, Textmate, Netbeans, Eclipse, SublimeText,
PhpStorm, ...
●
Posibilidad de crear nuevos elementos del
lenguaje.
●
“Modo sandbox” para probar extensiones Twig
de terceros.
Slide 60
Slide 60 text
¿Y el rendimiento?
Slide 61
Slide 61 text
Las plantillas de Twig
se “compilan” a PHP
Slide 62
Slide 62 text
No content
Slide 63
Slide 63 text
No content
Slide 64
Slide 64 text
Twig 1.4
va a ser un 15%
más rápida renderizando
Slide 65
Slide 65 text
Resumiendo
Slide 66
Slide 66 text
Twig está lleno de características útiles.
Twig es flexible.
Twig es extensible.
Twig es rápido.
Twig es seguro.
Twig se lleva muy bien con Symfony2.