Symfony_Twig

Plantillas Twig (Symfony2)

Twig es un motor de Plantillas (archivos de texto analizado por el lenguaje  Twig), concisas y fáciles de entender las cuales no permiten incluir código PHP. Las plantillas sólo deberían encargarse de mostrar información, no de programar parte de la aplicación.

“Cada plantilla Twig se compila a una clase nativa de PHP que se procesa en tiempo de ejecución.”
tomado de: http://symfony.com/doc/2.8/book/templating.html

Un plantilla se compone de Expresiones o Variables,  las cuales son pasadas desde la aplicación a la plantilla, además pueden tener atributos o elementos que puede acceder, también y pueden ser modificadas por filtros:

{% filter upper %}
    aplicación de un filtro en una sección de código
{% endfilter %}

Pueden definirse Funciones (http://twig.sensiolabs.org/doc/functions/index.html) o Macros, soporta comparaciones como:   ==, !=, <, >, >=, y <=.  Puede comprobar si una cadena de texto empieza o termina con determinado caracter:  starts with o ends with otra cadena de texto.

  • Delimitadores Twig

{% for-loops %}  y  {{ Imprime en pantalla el Resultado de una expresión }}

Declaración de  comentarios: {# ... #}

Excepciones y más información: http://twig.sensiolabs.org/doc/api.html


INTENTO DE MODIFICACIÓN DE UNA PLANTILLA

Se requiere instalar Symfony, de acuerdo a esta documentación: http://symfony.com/download

1

Se observa que Symfony trae por defecto la base de una plantilla con la estructura de html dento del directorio /app/Resources/views:  base.html.twig

2

Se comprueba la versión de php, después se instala por medio del Administrador de paquetes de Atom:

C

De tal forma que al abrir el proyecto creado en Atom  (IDE utilizado, *ver referencia 1), pueda visualizarse en /src/AppBundle/Controller/ dos archivos, el segundo genera un número al azar. Para la creación de un proyecto utilizando una plantilla, se creó en proyecto1/Resources/views/ una copia del archivo base.html.twig

1

Dentro del cual, se utiliza una plantilla copiada de: http://foundation.zurb.com/templates.html. Lo cual después de algunos cambios (de acuerdo a las indicaciones de la parte superior), se usa esa plantilla como base de otras rutas creadas, por ejemplo el siguiente archivo tiene el objetivo de ser la página de creación de un examen usando dicha plantilla:

create

De lo cual se puede visualizar :

9

  • Referencias:
  1. http://twig.sensiolabs.org/doc/templates.html
  2. http://symfony.com/doc/2.8/book/templating.html#template-naming-locations
  3. http://symfony.com/doc/2.8/book/controller.html#controller-rendering-templates