Si tu sitio en PHP repite el mismo encabezado, menú y pie de página en cada archivo, las vistas parciales son la solución. Aprenderás a separar lógica y presentación usando partials y plantillas, una técnica base para entender motores como Laravel o Symfony.
¿Por qué usar vistas parciales en un proyecto PHP?
Cuando copias el mismo encabezado o pie de página en cada archivo, cualquier cambio se vuelve un dolor de cabeza. Tienes que editar diez lugares distintos para mover una coma. Las vistas parciales resuelven eso aislando los bloques que se repiten.
En la clase, los bloques que se identifican como repetidos son tres y conviene tratarlos como piezas independientes:
- El encabezado (header) con el título dinámico de cada página.
- El menú de navegación que aparece en todas las secciones.
- El pie de página (footer) con la información de cierre.
La idea es crear una carpeta recursos y dentro guardar estos fragmentos para invocarlos desde cualquier página.
¿Qué es una vista parcial en PHP? Es un fragmento de código reutilizable, como el encabezado o el footer, que se incluye en varias páginas para evitar repetir el mismo HTML.
¿Cómo separar la lógica de la presentación con plantillas?
Aquí viene lo interesante: no basta con extraer los partials. También conviene dividir cada página en dos archivos. Uno que maneja la lógica y otro que maneja la presentación.
El flujo queda así:
- El archivo
index.php se encarga de la lógica y define variables como el título de la página.
- Ese archivo importa una plantilla, por ejemplo
home.template.php, ubicada en recursos.
- La plantilla arma la vista llamando al header, al menú de navegación y al footer.
Esta filosofía se llama separación de responsabilidades. Cada archivo tiene un trabajo claro: uno piensa, el otro muestra.
Para las páginas internas se replica el patrón. acerca-de.php define el título Sobre mí y carga acercade.template.php. enlaces.php define la variable Proyectos y llama a enlaces.template.php. Las publicaciones siguen el mismo modelo con post.template.php.
¿Cómo pasar un título dinámico al encabezado reutilizable?
El encabezado debe imprimir un título distinto según la página, pero también necesita un valor por defecto. La solución que se usa en clase es trabajar con una variable y los dos signos de interrogación de PHP, el operador null coalescing.
En la práctica, dentro del partial del header se imprime la variable del título y, si no existe, se muestra mi sitio web. Así cada página define su propio título antes de incluir la plantilla, y el header lo recoge sin romperse cuando la variable no está definida.
¿Para qué sirven los dos signos de interrogación en PHP? Son el operador null coalescing. Devuelve el primer valor si existe; si no, devuelve el segundo. Perfecto para títulos opcionales.
Un detalle importante: cuando muevas las plantillas a recursos, las rutas relativas hacia los partials cambian. Si tu plantilla y tu carpeta de parciales son carpetas hermanas, ajusta la ruta para que apunten al mismo nivel. Es un error común y rápido de corregir.
¿Qué estructura de archivos queda al final?
Al terminar el refactor, el proyecto tiene una estructura mucho más limpia y fácil de mantener:
- Archivos de lógica en la raíz:
index.php, acerca-de.php, enlaces.php, post.php.
- Carpeta
recursos con las plantillas: home.template.php, acercade.template.php, enlaces.template.php, post.template.php.
- Carpeta de partials con
header, nav y footer.
Cada plantilla incluye los tres parciales en orden: primero el header, luego el menú de navegación y al final el footer. La lógica vive aparte y solo pasa las variables que la presentación necesita.
Este patrón es exactamente la base que usan los motores de plantillas modernos. Cuando llegues a Blade en Laravel o a Twig en Symfony, ya vas a entender por qué existen y qué problema resuelven, porque lo construiste tú mismo a mano.
Ahora te toca a ti: aplica estas vistas parciales en tu blog y deja que cada página defina solo su contenido principal. ¿Cómo organizaste tu carpeta de recursos?