BorrowBits
Portada » Blog » Computación » Programación » 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».

Sin embargo no es necesario recurrir a un framework completo cuando se trata de extender vistas de forma sencilla.

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. 

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

Base.php (vista padre = plantilla)

<?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>

Page.php (vista hija = implementación)

<?php include 'base.php' ?>

<?php startblock('title') ?>
   Éste es el título
<?php endblock() ?>

<?php startblock('article') ?>
   Éste es el artículo.
<?php endblock() ?>

Resultado HTML

<html>
<body>
<h1>
   Éste es el título.
</h1>
<div id='article'>
   Éste es el artículo.
</div>
</body>
</html>

Angel H.

Tecnófilo irreparable y lector insaciable. Emigrante e inmigrante. Además de eso, Ingeniero de Telecomunicaciones y Product Manager. +10 años de experiencia en proyectos de Software, Cloud e Ingeniería de Redes. Me apasiona el DIY, la tecnología Blockchain y las Finanzas.

Escribir un comentario

Angel H.

Tecnófilo irreparable y lector insaciable. Emigrante e inmigrante. Además de eso, Ingeniero de Telecomunicaciones y Product Manager. +10 años de experiencia en proyectos de Software, Cloud e Ingeniería de Redes. Me apasiona el DIY, la tecnología Blockchain y las Finanzas.

Suscríbete

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

Apúntate para seguir recibir por email las nuevas publicaciones, noticias sobre Blockchain pre-filtradas y material exclusivo para suscriptores. De momento es gratis:

{subscription_form_1}

Categorías

Bits del pasado

Sitio patrocinado por:

JitKey rentabilización apartamentos turísticos

JITKey.- Startup enfocada en la gestión de alojamientos turísticos.