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

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í.

Previous Framework: ¿Por qué es mejor usarlos?
Next Cómo Internet revolucionó el póker online

About author

Angel
Angel 172 posts

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).

You might also like

Tutorial 2 Comentarios

Usar el servidor embebido de PHP 5.4

¿Cómo sacar partido al servidor http embebido que traen las nuevas versiones de PHP? Sé que si te dedicas al desarrollo web como yo tendrás instalado con toda probabilidad en

Tecnologia & Ciencia 1Comments

[WordPress] Fatal error: Allowed memory size of 73400320 bytes exhausted

A.K.A. White Screen of Death. Si ya has trabajado con WordPress estoy seguro de que lo anterior te resultará familiar. Horriblemente familiar. Si no has trabajado aún con WordPress pero

Tutorial 1Comments

Aprende VIM con un Adictivo juego de aventuras

Probablemente Vim sea el editor de texto para programadores más potente que existe. Seguro que más de uno se echa las manos a la cabeza con mi afirmación. Si ése es tu caso,

0 Comentarios

Ningún comentario... todavía ;)

Tú puedes ser el primero en comentar este artículo!

Deja un comentario