BorrowBits - ciencia y tecnología

Herencia fácil de plantillas en PHP ¡y sin volver al Paleolítico!

programador web paelolitico

Cuando ya has experimentado un framework (como hablábamos en el artículo anterior), volver a programar “a pelo” en cualquier lenguaje se antoja como volver al paleolítico y picar piedra en vez de “teclas”.

A mí en concreto me ocurrió eso después de probar el motor de plantillas de Django, con la potencia y versatilidad que ofrece. ¿Y si os dijera que podéis aprovecharos de sus ventajas sin necesidad de salir de PHP o de aprender un framework nuevo? Os presento la librería Template Inheritance:

 

Se trata de la herencia de plantillas, una técnica muy útil para fabricar layouts HTML muy reutilizables a lo largo de un proyecto web. Para ello vamos a usar una librería llamada ti.php (Template Inheritance). Veamos cómo funciona:

Heredando vistas HTML

El modo más básico requiere dos plantillas: una actuará de base o padre y la otra será la plantilla hija sobre la que se aplicará la herencia. La plantilla base es un esqueleto HTML que podría contener la estructura básica de nuestro sitio, los scripts y cualquier elemento común a todas las vistas. Ejemplo:

base.php (plantilla padre) page.php (plantilla hija) salida
<?php require_once 'ti.php' ?> <html> <body> <h1> <?php startblock('title') ?> <?php endblock() ?> </h1> <div id='article'> <?php startblock('article') ?> <?php endblock() ?> </div> </body> </html> <?php include 'base.php' ?> <?php startblock('title') ?> This is the title <?php endblock() ?> <?php startblock('article') ?> This is the article <?php endblock() ?> <html> <body> <h1> This is the title </h1> <div id='article'> This is the article </div> </body> </html>
La clave es que la plantilla hija va a hacer un include del padre, por lo que luego nos limitaremos a sobrescribir los correspondientes bloques de código con starblock y endblock.
Por supuesto, también es necesario que la plantilla base o padre incluya (con require_once) la librería ti.php (sólo consta de este archivo, es así de sencilla). Podéis aplicar la herencia de base.php en tantas páginas como queráis. También podemos hacer herencia de herencias, es decir, convertir una plantilla hija en una plantilla base de otro grupo de plantillas. Las posibilidades son infinitas.

Como imaginaréis, esta forma de trabajar nos proporciona mucha flexibilidad incluso aunque no usemos un framework como Symfony o Django. Esperamos que os sea de utilidad y nos contéis vuestra experiencia paleolítica. Podéis descargar Template Inheritance desde aquí.

Angel

Siempre quise ser inventor y escritor: por lo primero me hice ingeniero, y en cuanto a lo segundo, escribo aquí de vez en cuando sobre telecomunicaciones y tecnología. Me gustan los robots, los perretes y los libros (analógicos).

Escribir un comentario

Suscríbete

¡Sácale el máximo partido a BBits!

Introduce tu dirección de correo electrónico para seguir este Blog y recibir por email las nuevas publicaciones, si has leído y aceptas las Políticas de Privacidad, Cookies y Aviso Legal.

Recíbelo gratis al suscribirte

Webs amigas

  • Frikilogia.- Blog Multi-Tematico orientado a todos los campos del frikismo.
  • Meridiem90.tv.- Mira la TV gratis en HD. Canal Plus y Gol TV, todo el futbol desde tu navegador.
  • JITKey.- Startup enfocada en la gestión de alojamientos turísticos.

Bits del pasado

Síguenos en FB