Ramita

Ramita

Información
Primera versión 2009
Última versión 3.3.0 (8 de febrero de 2021)
Depositar github.com/twigphp/Twig
Escrito en PHP
Sistema de explotación Multiplataforma
Tipo Motor de plantillas ( en )
Licencia Licencia BSD
Sitio web twig.symfony.com

Twig es un motor de plantilla para el lenguaje de programación PHP , utilizado por defecto por el marco Symfony .

Se inspiró en Jinja , un motor de plantillas de Python .

Características

Apoyado por entornos de desarrollo integrados como:

Y los editores de texto:

Sintaxis

Para crear una tabla iterativa:

{% set myArray = [1, 2] %}

Una matriz asociativa:

{% set myArray = {'key': 'value'} %}

Precedencia de operadores

Al menos con la máxima prioridad:

Operador Papel
banda Y booleano
b-xor O exclusivo
b-o O booleano
oro O
y Y
== Es igual
! = Es diferente
< Inferior
> Superior
> = Mayor qué o igual a
<= Menor o igual
en Dentro
partidos Corresponde
comienza con Comienza por
termina con Para terminar por
.. Secuencia (p 1..5. Ej. )
+ Más
- Menos
~ Concatenación
* Multiplicación
/ División
// División redondeada hacia abajo
% Modulo
es Prueba (ej: is definedo is not empty)
** Potencia
| Filtrado
[] Entrada de tabla
. Atributo o método de un objeto (p country.name. Ej. )

Filtros

Los filtros proporcionan procesamiento en una expresión, si se colocan después de ella separados por conductos. Por ejemplo :

  • capitalize : pone una letra mayúscula a la primera letra de una cadena de caracteres.
  • upper : pone la cadena en letras mayúsculas.
  • first : muestra la primera fila de una tabla.
  • length : devuelve el tamaño de la variable.

Variables especiales

  • loopcontiene la información del bucle en el que se encuentra. Por ejemplo, loop.indexda el número de iteraciones ya ocurridas.
  • Las variables globales comienzan con guiones bajos, por ejemplo:
    • _route (parte de la URL ubicada después del dominio)
    • _self (nombre del archivo actual)
    Entonces, para obtener la ruta de una página: {{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}
  • Las variables de entorno CGI , como{{ app.request.server.get('SERVER_NAME') }}

Ejemplo

Si el archivo "base.html" contiene el encabezado y pie de página HTML común a todas las páginas, estas páginas pueden heredarlo con la palabra extends.

{% extends "base.html.twig" %} {% block navigation %} <ul id="navigation"> {% for item in navigation %} <li> <a href="{{ item.href }}"> {% if item.level == 2 %} {{ item.name|upper }} {% endif %} </a> </li> {% endfor %} </ul> {% endblock navigation %}

Notas y referencias

  1. Versión 3.3.0  " ,8 de febrero de 2021(consultado el 17 de febrero de 2021 )
  2. http://fabien.potencier.org/templating-engines-in-php.html#twig
  3. Symfony , “  Filtros - Documentación - Twig - La flexibles, rápido y seguro motor de plantillas PHP  ” , en twig.sensiolabs.org
  4. Symfony , "  Extendiendo Twig - Documentación - Twig - El motor de plantillas PHP flexible, rápido y seguro  " , en twig.sensiolabs.org
  5. Symfony , "  Twig para diseñadores de plantillas - Documentación - Twig - El motor de plantillas PHP flexible, rápido y seguro  " , en twig.sensiolabs.org
  6. Symfony , "  set - Documentation - Twig - El motor de plantillas PHP flexible, rápido y seguro  " , en twig.sensiolabs.org
  7. Symfony , "  Twig para diseñadores de plantillas - Documentación - Twig - El motor de plantillas PHP flexible, rápido y seguro  " , en twig.sensiolabs.org