Kick-Start WordPress Development con Twig Introducción

Se ha escrito mucho sobre el futuro de WordPress, y muchos creen que carece de un lenguaje de plantilla, especialmente cuando plataformas como Django, Ruby on Rails, Node.js, Laravel e incluso Drupal poseen uno. Hechos como "WordPress potencia casi el 25% de la web " hacen difícil cuestionar su sistema de plantillas basado en PHP actual. Pero como todavía falta la modularidad en el código, se puede preguntar cuándo el núcleo tendrá un motor de plantillas..

¡Las buenas noticias están aquí! El motor de plantillas Twig junto con un complemento llamado Timber puede ayudarnos a escribir código súper limpio y modular en WordPress. En esta serie, discutiremos su implementación e integración con WordPress. Comenzaré con los conceptos básicos de lo que es Twig y por qué lo necesita, y en los siguientes tres artículos, explicaré los diferentes tipos de plantillas de Twig integradas con WordPress a través de Timber..

Que es la ramita?

Twig es un motor de plantillas flexible, rápido y seguro para PHP. Twien es presentado por Fabien Potencier, el creador del framework Symfony, y se considera rico en funciones, extenso, rápido y eficiente.. 

Generalmente, cuando usted codifica en WordPress, mezcla trozos de PHP con HTML (eso es lo que llamamos código spaghetti). Esto no se atribuye como marcado super-limpio. Por el bien de un enfoque modular y Doing it Right ™, uno necesita mantener el Ver separado de Datos. Con Twig, puedes separar el ver Capa del resto de la aplicación. La ramita funciona en el patrón modelo-vista-controlador (MVC) y ayuda a mantener el código limpio.

¿Por qué usar Twig?

A lo largo de los años, se desarrollaron diferentes motores de plantillas PHP, pero Twig supera a todos en las siguientes capacidades..

Rico en características

Twig es uno de los motores de plantillas PHP más potentes y con muchas funciones. Admite la herencia múltiple y el escape de salida automático, y ayuda a dividir la plantilla en varios bloques o componentes para mantener un diseño modular. No solo esto, sino que los desarrolladores también pueden agregar más complementos para cumplir con los requisitos de front-end.

Rápido y eficiente 

Las plantillas que se compilan a través de Twig tienen una sobrecarga mucho menor en comparación con las plantillas PHP normales. Las rutinas de codificación se optimizan altamente, y puede ahorrar mucho tiempo de desarrollo. También es útil cuando planea cambiar el marco base, ya que Twig ayuda a crear una capa de plantillas separada que se puede conectar con cualquier marco de back-end, ya sea Laravel o WordPress.

Diseñador y desarrollador amigable

La ramita se adapta a los requisitos de diseñadores y desarrolladores. Incluso si no eres un nerd de código, usar Twig es simple, y parece correcto codificar una plantilla modular basada en componentes. Su sintaxis es fácil de comprender y se abstiene de implementar operaciones dinámicas de PHP en los archivos de plantilla. En definitiva, es bastante moderno y se adapta a los últimos estándares de codificación. El concepto de escape de salida es muy completo cuando se maneja con Twig. 

Empecemos con un ejemplo simple..

En PHP normal obtienes una salida como esta:

 

En Twig, las cosas se simplifican mucho más, es decir, el código anterior se comprime para:

foo foo | escape foo | e # atajo para escapar de una variable #

La salida de escape es así de simple en Twig. Solo agregue corchetes dobles, ingrese el nombre de la variable y obtendrá un resultado. Ponga una tubería con una e junto a ella y hemos empezado a escapar cosas. Más sobre esto en los próximos tres artículos de esta serie..

Seguro

Twig desinfecta y asegura los datos por su cuenta. Es exclusivo salvadera el modo controla de forma inteligente todo el código y filtra los mejores resultados posibles. Esto significa que las plantillas generadas por el usuario se pueden implementar de forma fácil y segura. El entorno de sandbox solo se puede habilitar global o localmente para plantillas específicas como esta:

include ('post.html', sandboxed = true)

En el caso de cualquier error de sintaxis, Twig depura su archivo al generar un mensaje que contiene detalles como su nombre de archivo y el número de línea con el código problemático.

Flexible

Acabo de mencionar que Twig es un motor de plantillas moderno, lo que también significa que puede ampliar su funcionalidad ya que es bastante flexible. Es totalmente compatible con una eficiente lexer y analizador a través del cual los desarrolladores pueden definir etiquetas personalizadas, filtros, funciones, etc..

Otros

Además de todas las características mencionadas anteriormente, Twig está muy bien documentado y totalmente probado en unidades. Su API y las bibliotecas de plantillas son totalmente estables y pueden manejar todo tipo de tareas complejas. Un libro en línea dedicado y una documentación completa de la API también están disponibles.

Twig es el nuevo lenguaje de plantilla para Drupal 8, que es mi principal motivación para usar este motor de plantillas con confianza. La buena gente de XWP, especialmente Weston Ruter, está trabajando en una propuesta para que Twig cumpla con los estándares VIP de WordPress.com. 

Timber: Integrando Twig Con WordPress

Hasta ahora toda la discusión ha girado en torno a dos cosas. Primero, debemos emplear un enfoque modular para mantener las plantillas separadas de los datos mientras construimos temas personalizados de WordPress y, segundo, Twig puede ayudarnos a hacerlo. Pero lo que une a estos dos?

Se han realizado diferentes esfuerzos para lograr la mejor integración entre Twig y WordPress, y uno de estos intentos valientes es Timber, creado por una agencia web llamada Upstatement. Utiliza el motor de plantillas Twig, que permite escribir código modular y limpio en WordPress. 

Timber junto con Twig puede ayudarte a crear temas de WordPress rápidos y modulares. De esta manera, puede mantener su código HTML separado de los archivos PHP normales, asegurando un patrón de código más sostenible. El concepto de mantener HTML y PHP separados hace posible que el archivo PHP se enfoque estrictamente en el suministro datos y lógica mientras que el archivo HTML (archivo Twig) se concentra en el ver Capa de la aplicación web..

En general, Timber realiza tres tareas principales:

  • Integra Twig en WordPress..
  • Representa las plantillas Twig..
  • Añade un conjunto de datos de base de WordPress..

Creo que su declaración de misión lo dice todo:

Timber es una herramienta para desarrolladores que desean traducir su HTML en temas de WordPress de alta calidad a través de una interfaz intuitiva, coherente y totalmente accesible..

  • Intuitivo: La API está escrita para centrarse en el usuario en torno a las expectativas de un programador.
  • Consistente: Se puede acceder a todos los objetos de WordPress a través de propiedades polimórficas como slug, ID y nombre.
  • Accesible: No hay cajas negras. Se hacen todos los esfuerzos para que el desarrollador tenga acceso al 100% de su HTML..

¿Cómo funciona la madera?

En el caso de un tema de WordPress normal, todos los fragmentos del código PHP y HTML se integran y modifican en los mismos archivos de plantilla de PHP. Sin embargo, con Timber, dividimos los archivos de plantilla en dos archivos de datos diferentes: el archivo PHP y el archivo de vista / plantilla, es decir, el archivo Twig. 

Así, el primero se guarda con la extensión de archivo. .php y el segundo tiene .ramita como su extensión. Por lo tanto, si estás creando archivos de plantilla para single.php, sus archivos serán nombrados single.php y single.twig

El archivo anterior recopila los datos, mientras que el último es la plantilla que utiliza los datos en HTML. De esta manera puede agregar operaciones dinámicas en sus temas de WordPress de una manera modular.

Vamos a resumirlo todo:

Timber maneja los archivos de plantilla de su tema de WordPress en archivos PHP y HTML (Twig). De esta manera se separa la lógica de la pantalla. Le proporciona nuevas formas de crear, diseñar y mostrar su tema.

Conclusión

Hay mucho que amar sobre Twig. Este artículo fue solo una introducción sobre las ventajas de usar un motor de plantillas con WordPress. El código modular es un código mejor y es fácil de mantener. Es hora de que los desarrolladores tomen este cambio de flujo de trabajo, y estoy seguro de que Twig puede ayudarles con eso. 

En los próximos artículos, mostraré la implementación práctica de los archivos de plantilla con Twig. Veremos cómo podemos implementar Twig para representar imágenes WP, comentarios y menús, con ejemplos de códigos. Hasta entonces, si encuentra alguna duda, no dude en preguntar. No olvides acercarte en Twitter..