210 likes | 316 Views
Copiando y pegando archivos enteros. Programación en Internet II. Include y require. Copiando y pegando archivos enteros Los rompecabezas de include y require
E N D
Copiando y pegando archivos enteros Programación en Internet II
Include y require Copiando y pegando archivos enteros Los rompecabezas de include y require Es normal que varias páginas de un sitio o aplicación Web contengan elementos en común que se repiten una y otra vez a lo largo de decenas de páginas. Por ejemplo, un mismo encabezado de página, un mismo menú de navegación, o un mismo pie de página. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require En esos casos, no sería nada práctico que el código HTML de esos bloques se repitiera idénticamente en cada uno de los numerosos archivos HTML del sitio, ya que cuando llegue el momento de modificar el contenido de alguno de estos elementos será necesario hacer el cambio en cada uno de los archivos que muestran ese bloque, y luego estaremos obligados a subir por FTP al servidor quizás decenas, o cientos, o miles de archivos. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Para solucionar este problema, PHP posee cuatro “construcciones” (no son funciones) denominadas: include require include_once require_once Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require La idea al utilizarlas es que colocaremos, en un archivo aparte, los contenidos que tengan en común muchas páginas. Por ejemplo, ubicaremos, en un en un archivo denominado menu.php, el código fuente necesario para que se vea el menú, el código del pie de página lo situaremos en otro archivo aparte llamado pie.php, y así sucesivamente con todos los elementos comunes a varias páginas. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Luego, en cada página del sitio donde necesitemos mostrar elmenú o ese pie, le ordenamos al software intérprete de PHP que incluya el código completo del archivo en cuestión en el lugar exacto en el que lo especificamos. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Esta orden realiza automáticamente una tarea similar a la que haríamos manualmente si seleccionáramos el código de esos archivos externos (menú.php, pie.php, etc.), los copiaremos y los pegaremos luego en cada una de las páginas en las que queremos mostrar ese pie o ese menú. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require De esta manera, cuando fuera necesario realizar un cambio a alguno de esos archivos, lo haremos en el archivo que contiene exclusivamente el código del menú, o el del pie de página, y terminados los cambios de contenido de esos archivos únicos, los subiremos por FTP, y no tendremos que cambiar absolutamente nada en las otras decenas, o cientos, o miles de páginas que conforman el sitio, que reflejarán los cambios de inmediato, ya que en ellas sólo dice “mostrar aquí lo que haya en menu.php”. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require El código de este archivo pagina.php –que simula ser una de las tantas páginas estándar del sitio- quedaría de la siguiente manera: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require <html><head><title>Página que incluye otros archivos</title></head><body><div id=”contenedor”><?phprequire (“encabezado.php”); ?><div id=”contenido-principal”>Contenido Principal</div><?phpinclude (“botones.php”); ?><?phpinclude (“pie.php”); ?></div><!-- Cierre del contenedor--></body></html> Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Y, además tendríamos un archivo por cada bloque de página que deseamos independizar: El archivo encabezado.php: <div id=”encabezado”>Encabezado</div> Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require El archivo botones.php: <div id=”botones.php”>Botones</div> Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require El archivo pie.php: <div id=”pie.php”>Pie</div> Queda claro entonces que include nos brinda un enorme ahorro de tiempo a la hora de realiar tareas de mantenimiento de un sitio de muchas páginas. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Diferencias entre include y require son mínimas, simplemente se diferencian por el tipo de error que generan si fracasan en su intento de incluir un archivo (por ejemplo, si ese archivo no existe porque lo borramos o renombramos). Un incluce crea en ese caso, un Warning; esto es: envía una advertencia por pantalla, pero no interrumpe la ejecución del resto del archivo. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require En cambio, cuando falla la orden require genera un Fatal error, que interrumpe definitivamente en ese punto la ejecución del archivo que estaba haciendo el intento de inclusión. Por lo tanto, en casos en los que sea absolutamente imprescindible contar con los datos que estaban guardados en el archivo externo que se iba a incluir, es mejor usar require Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Y cuál es la diferencia entre require y require_once, o entre include y include_once? (nota: once en inglés quiere decir “una sola vez”). Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Con require_once o include_once, si el archivo ya ha sido incluido en la misma página con anterioridad, no se volverá a insertar por segunda vez. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require Esto puede ser útil en los casos en los que un mismo archivo pudiera ser potencialmente incluido más de una vez durante la ejecución de un código, debido a la complejidad del código, y se quiera estar seguro de que se inserta una sola vez, para evitar problemas con redifiniciones de funciones, valores de variables, etc. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require A continuación, un ejemplo que utiliza require, include_once y require_once: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Include y require <html><head><title>Página que incluye otros archivos</title></head><body><div id=”contenedor”><?phprequire (“encabezado.php”); ?><div id=”contenido-principal”>Contenido Principal</div><?php include_once (“botones.php”); ?><?php require_once (“pie.php”); ?></div><!-- cierre de contenedores --></body></html> Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa