Inclusión de ficheros en PHP

Stay hungry, stay foolish

Steve Jobs

Las construcciones include y require son de las mas conocidas en php. Con ellas puedes reutilizar porciones de código (script, o html) cuantas veces quieras, siendo uno de sus usos mas sencillos y típicos el de incluir cabeceras y pies de páginas en un sistema de plantillas. Son una opción muy útil a la hora de usar la programación modular.

Tanto si insertamos un archivo con include() o require(), debes tener en cuenta que PHP pasa a modo html hasta el final del mismo, por lo que si el archivo a insertar contiene código php que deba ser evaluado (ejecutado), debe ser encerrado dentro de etiquetas de comienzo y fin de PHP.

Sentencia include( )

La sentencia include() inserta y evalúa el archivo especificado. Puedes incluir aquí no solamente un fichero en tu servidor, sino una página web remota (indicando la url). Su uso sería: Llama al archivo .php y lo inserta en el propio punto del script donde hacemos la llamada.

Puedes también utilizar varios include anidados (es decir, utilizar include para llamar a otro archivo, dentro del archivo a incluir), con la unica precaucion de tener en cuenta que los archivos que se van insertando se ejecutan en el entorno del archivo primero que contiene la llamada, lo que es importante al establecer los paths.

Ejemplo básico de la función include() Mostrando el encabezado, cuerpo y pie.

Archivo: encabezado.php

<html>
<head>
<title>Mi pagina</title>
</head>
<body>

Archivo: cuerpo.php

<p>Es un escrito</p>

Archivo: pie.php

<h6>Derehos reservados</h6>
</body>
</html>

Archivo: index.php

<?php
include("encabezado.php");
include("cuerpo.php");
include("pie.php");
?>

Sentencia require()

A partir de la versión PHP 4.0.2 y posteriores ambas construcciones include() y require() se comportan exactamente de la misma manera, con la única diferencia de que si el archivo llamado no existe, include solo da una advertencia (Warning), y sigue ejecutando el código, mientras que require produce un Error Fatal e interrumpe la ejecución.

Sentencia incluude_once() y require_once( )

Estas construcciones presentan como única diferencia que la inclusión del archivo se ejecuta una sola vez (aunque a lo largo de la ejecución del script existan otras llamadas al mismo), lo que es útil para evitar conflictos con redeficiones de funciones o nombres de variables.