11 08

Include(), include_once() VS require(), require_once()

Publicado por Yoné Rocha en Diseño Web, PHP

PHP ofrece cuatro declaraciones para insertar código de un archivo externo en nuestro archivo fuente:

  • include "archivo"
  • include_once "archivo"
  • require "archivo"
  • require_once "archivo"

Cualquiera de estas declaraciones es sustituida por el código del archivo que se invoca. Hasta ahí todos los que están acostumbrados a desarrollar en PHP llegan, el problema viene cuando no sabes donde se debe usar una u otro tipo de declaración, es eso lo que vamos a intentar aclarar en este artículo, las diferencias entre las declaraciones de inclusión.

La declaración require() sustituye el código antes de que se ejecute el script, mientras que con include() la sustitución se realiza en tiempo de ejecución. Una gran diferencia pero no la única. Si usas include() e intentas incluir, valga de redundancia, un archivo que no existe te devolverá un warning y el script se seguirá ejecutando. Con require() en caso de no encontrar el archivo que se requiere te devolverá un error fatal y la ejecución del script se detendrá.

En mis proyectos suelo usar require() para el núcleo de la aplicación que lleva el peso de toda la lógica, así me aseguro que si por alguna razón no se incluye un archivo no se seguirá ejecutando, evitando de esta manera fallos más importantes. Para incluir archivos html como un pie de página si uso include(), ya que si estos archivos no se cargan no impide el correcto funcionamiento de la aplicación.

Tanto require_once() como include_once() funcionan de la misma manera que sus homónimos nombrados anteriormente, con una única salvedad. Aseguran que el código del archivo es agregado una sola vez, evitando redeclaraciones de variables o funciones. Hay que tener en cuenta que require_once e include_once son más pesadas de procesar que require e include, por lo que debemos usarlas con prudencia.

Referencias: Ali Hartono's Diary | nachox

 

Puntuación: 6.3/10 (16 votos emitidos)

  • Imprimir
  • Facebook
  • Del.icio.us
  • Technorati
  • Digg
  • Menéame

Dirección trackback para este artículo:
http://promineostudios.com/blog/articulo/include-includeonce-vs-require-requireonce/trackback

Conozca los últimos comentarios de éste artículo agregando el feed RSS a su lector de noticias

Artículos Relacionados
Ir al formulario
9

Gracias, estaba buscando una explicación asi de sencilla. Muy util

Enlace Permanente | 20 de octubre del 2009 a las 14:54 - Mariano ha dicho

De nada Mariano! Si estás buscando alguna otra cosa y nosotros podemos explicartela, sólo tienes que sugerirnos un artículo sobre ésta cuestión ;-)

Saludos

Enlace Permanente | 20 de octubre del 2009 a las 16:40 - Yoné ha dicho

gracias muy util tu informacion :)

Enlace Permanente | 4 de enero del 2010 a las 05:44 - william ha dicho

Muy bien explicado, muy útil la info.
Saludos.

Enlace Permanente | 20 de noviembre del 2010 a las 18:14 - argonauta ha dicho

Muy buena información, quizás le falte agregar cual es más rápida y cual consume menos recursos en caso de ser necesario analizar este aspecto.

Enlace Permanente | 22 de mayo del 2011 a las 01:42 - Jorge ha dicho

Gracias por la explicación, llevo algo de tiempo programando, pero nunca me habia detenido a buscar estas diferencias. Gracias nuevamente por la explicación muy clara. Saludos!

Enlace Permanente | 26 de agosto del 2011 a las 14:47 - Oscar ha dicho

Gracias por el tiempo y la explicación simple, es un aporte necesario especialmente en español.
Suerte!!!

Enlace Permanente | 9 de diciembre del 2011 a las 21:51 - Juan Carlos ha dicho

Gracias

Enlace Permanente | 25 de enero del 2012 a las 20:43 - Miguel ha dicho

Hola, a que te referís con "agregado una sola vez"; gracias. include_once

Enlace Permanente | 19 de febrero del 2012 a las 14:23 - dent ha dicho

Escribe un comentario sobre este artículo

:) :D XD :( :-o 8O :-? 8) :-x :p :-| ;-) :oops: :cry: :evil: :roll: :!: :?: :idea: :arrow: :mrgreen:

Recibe los últimos artículos en tu email
  • bloglines
  • Google
  • Netvibes
  • MyYahoo
  • MyMsn
Artículos Destacados
Autores
Categorías
Archivo

2009 - PromineoStudios - Todos los derechos Reservados

Diseño con estándares web - XHTML CSS - Versión anterior del sitio