29 - Incluir un archivo externo (require_once)

Hasta ahora hemos visto que un archivo contiene todo el código (HTML y PHP), pero el lenguaje PHP nos permite crear librerías de funciones o clases que veremos más adelante.

La idea fundamental de las librerías es agrupar funciones comunes a muchas páginas, no tener que tipearlas en cada archivo, lo que supone que cuando haya que hacer cambios en esas funciones las debemos localizar y modificar y dicha modificación afectará a todos los archivos donde se las utiliza.

La implementación de librerías nos permite hacer que un sistema sea más modular y facilita su mantenimiento.

Para probar esta característica del lenguaje, implementaremos dos funciones en la página «pagina2.php» y llamaremos a dichas funciones en la «página1.php»

El código del archivo «pagina1.php» es:

pagina1.php
<html>
    <head>
        <title>Problema</title>
    </head>
    <body>
        <?php
        require_once("pagina2.php");
        cabeceraPagina("Titulo principal de la página");
        echo "<br><br><center>Este es el cuerpo de la página<br><br></center>";
        piePagina("Pie de la página");
        ?>
    </body>
</html> 

Para incluir el contenido de otro archivo, debemos utilizar la sentencia require_once pasando como parámetro el archivo a incluir:

require_once("pagina2.php"); 

Si el archivo no existe, se mostrará un error y no continuará la ejecución del programa PHP.

El programa continúa llamando a una función que no se encuentra implementada en este archivo sino que está en el archivo «pagina2.php»:

cabeceraPagina("Titulo principal de la página"); 

Luego de mostrar otros textos en la página, llamamos a una segunda función que también está implementada en el archivo pagina2.php:

piePagina("Pie de la página"); 

Hay que tener en cuenta que en un proyecto real, las funciones que almacena el archivo «pagina2.php» pueden ser incluidas y utilizadas en muchas otras páginas.

El código fuente del archivo «pagina2.php» es:

<?php
function cabeceraPagina($tit)
{
    echo "<h1 style=\"width:100%;background:#ffff00;text-aling:center\">$tit</h1>";
}

function piePagina($tit)
{
    echo "<p style=\"width:100%;background:#cccccc;text-aling:center\">$tit</p>";
}
?> 

Normalmente las rutinas se tratan de archivos PHP puros, es decir que contienen sólo funciones y clases y no etiquetas HTML fijas. Es importante el lugar donde llamamos a la sentencia require_once, debe ser siempre antes de la llamada a las funciones que contiene la librería.