Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Plantillas en Symfony2: Twig

Plantillas en Symfony2: Twig

Presentación para Seminarios TheEvnt: Symfony2 por César Suárez Ortega

267ee9b8bfeb0c72b5dbe643bbc4433b?s=128

César Suárez Ortega

November 25, 2011
Tweet

Transcript

  1. Plantillas en Symfony2 Twig

  2. ¿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.
  3. PHP vs. Plantillas

  4. PHP vs. Plantillas

  5. PHP vs. Plantillas

  6. Symfony2 tiene que tener esto

  7. ¿Y no hay lenguajes de plantillas en PHP?

  8. None
  9. A Fabien no le gustan Razones aquí: http://fabien.potencier.org/article/34/templating-engines-in-php

  10. Así que “nace” Twig

  11. Elementos de Twig

  12. Básico Mostrar datos Definir estructuras

  13. Manejo de variables

  14. Acceso a variables

  15. 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.
  16. Estableciendo variables

  17. Estructuras

  18. for-each

  19. for

  20. for

  21. for-else (!!!)

  22. Variable loop • loop.index // loop.index0 • loop.revindex // loop.revindex0

    • loop.first // loop.last • loog.lenght • loop.parent
  23. Uso variable loop

  24. if

  25. Filtros

  26. Filtros: Modificadores de variables “pepe” “PEPE” →

  27. Filtros: Parametrizables array(“a”, “b”, “c”, “d”, “e”) “a, b, c,

    d, e” →
  28. Filtros: Encadenables array(“a”, “b”, “c”, “d”, “e”) “A, B, C,

    D, E” →
  29. Filtros: Encadenables array(“a”, “b”, “c”, “d”, “e”) “A, B, C,

    D, E” →
  30. Filtros: Ejemplos

  31. Filtros: Más ejemplos

  32. Mis filtros: Fáciles de crear

  33. Mis filtros: fáciles de añadir en SF2

  34. Mis filtros: fáciles de usar

  35. Embeber plantillas

  36. None
  37. include

  38. Herencia

  39. None
  40. Plantilla padre

  41. Plantilla hija 1

  42. Plantilla padre + hija 1

  43. Plantilla hija 2

  44. Plantilla padre + hija 2

  45. Plantilla hija 3

  46. Plantilla padre + hija 3

  47. Plantilla “base” de Symfony2

  48. Funciones

  49. Función PHP que se puede llamar desde Twig

  50. None
  51. Mis funciones: Fáciles de crear

  52. Mis funciones: Fáciles de usar MyFunction says Hello!

  53. Macros

  54. Macros: fáciles de crear

  55. Macros: fáciles de usar

  56. Escape de variables

  57. ¡¡En Symfony2 está activado por defecto!!

  58. Y además...

  59. ¡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.
  60. ¿Y el rendimiento?

  61. Las plantillas de Twig se “compilan” a PHP

  62. None
  63. None
  64. Twig 1.4 va a ser un 15% más rápida renderizando

  65. Resumiendo

  66. 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.
  67. FIN

  68. e-mail suarez.ortega.cesar@gmail.com twitter @tharandur