.

Jul 02 2008

include y require

Published by Webmaster at 11:09 am under php

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Las instrucciones include y require son de las mas conocidas en php. Con ellas puedes ahorrarte trabajo al reutilizar código (script, o simple html) cuantas veces quieras, siendo uno de sus usos mas sencillos y típicos el de incluir cabeceras, menú generico y pies de páginas en un sistema de plantillas.

La utilización del include es muy simple:

PHP:
  1. <?php include(“tuarchivo.htm”); ?>

PHP:
  1. <?php require(“tuarchivo.htm”); ?>

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 típico sería , que llama al archivo header.php y lo inserta en el propio punto del script donde hacemos la llamada.

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.

Ejemplo:

Archivo 1 : header.htm:

PHP:
  1. <html>
  2. <head>
  3. <title> Muestra de includes </title>
  4. </head>
  5. <body>

Archivo 2: footer.htm:

PHP:
  1. </body>
  2. </html>

Archivo 3: index.php :

PHP:
  1. <?php include(“header.htm”); ?>
  2. <p>
  3. Hola, Mundo !
  4. </p>
  5. <?php include(“footer.htm”); ?>

Y el resultado es:

HTML:
  1. <title> Muestra de includes </title>
  2. </head>
  3. Hola, Mundo!
  4. </p>
  5. </body>
  6. </html>

Debes 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. Por ejemplo, si tienes dos archivos, footer.php y notes.php en un directorio llamado anexos y llamas al primero desde fuera de ese directorio, lo harias así: include (”anexos/footer.php”); y si footer.php contiene una llamada a otro archivo notes.php, debes escribir hacer la llamada también como include (”anexos/notes.php”); puesto que aunque footer y notes están en el mismo directorio, la llamada a ambos es desde fuera, desde la misma posición que el script que hace la llamada.

Y lo mismo ocurre con las variables. El codigo insertado hereda el mismo alcance de variables que el código donde sea insertado.

require

La diferencia documentada entre include y require consistiría en que la llamada con include podría hacerse condicionalmente. A diferencia de include(), require() siempre leerá el archivo referenciado, incluso si la línea en que está no se ejecuta nunca. Si se quiere incluir condicionalmente un archivo, se usa include(). La sentencia condicional no afecta a require(), aunque si la línea en la cual aparece el require() no se ejecuta, tampoco se ejecutará el código del archivo referido.

Sin embargo, a partir de la version PHP 4.0.2 y posteriores esto ya no es así y ambas construcciones se comportan exactamente de la misma manera, con la única diferencia de que si el archivo llamado no existe, include solo da una advertencia, y sigue ejecutando el código, mientras que require produce un error e interrumpe la ejecución.

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


 

    Share This     Te lleva a una entrada aleatoria

 

Trackback URI | Comments RSS

Deja un comentario