
En PHP, REQUIRE es una construcción del lenguaje que se utiliza para incluir y evaluar archivos en el momento en que se ejecuta un script. Al utilizar require
, el código del archivo especificado se incluye en el script actual en el lugar donde se llama a REQUIRE
. Si el archivo no se encuentra o no se puede incluir por algún motivo, PHP arrojará un error fatal y detendrá la ejecución del script.
La diferencia entre require
y include
en PHP radica en cómo manejan los errores. Si el archivo especificado no se encuentra, require
producirá un error fatal y detendrá la ejecución, mientras que include
solo emitirá una advertencia y permitirá que el script continúe ejecutándose.
Supongamos que tienes un archivo llamado «utilidades.php» que contiene una función de utilidad:
Y luego, tienes un archivo principal llamado «index.php» que utiliza la función de utilidad definida en «utilidades.php»:
En este ejemplo, el archivo «index.php» utiliza require
para incluir el archivo «utilidades.php» que contiene la función sumar()
. Luego, «index.php» llama a la función sumar()
para sumar dos números e imprime el resultado. La función sumar()
definida en «utilidades.php» es accesible en «index.php» después de usar require
para incluir el archivo «utilidades.php».
Require vs Include
En PHP, tanto require
como include
son construcciones utilizadas para incluir y ejecutar archivos en un script PHP. La principal diferencia entre require
y include
radica en cómo manejan los errores y la inclusión de archivos.
- Require:
- Si el archivo especificado en
require
no se encuentra, se produce un error fatal y el script se detiene. - Se utiliza cuando se desea que la inclusión del archivo sea crítica para el funcionamiento del script.
- Si se intenta incluir el mismo archivo más de una vez, se produce un error fatal.
- Si el archivo especificado en
- Include:
- Si el archivo especificado en
include
no se encuentra, se emite una advertencia y el script continúa ejecutándose. - Se utiliza cuando se desea que la inclusión del archivo no sea crítica para el funcionamiento del script.
- Si se intenta incluir el mismo archivo más de una vez, se permite la inclusión múltiple sin generar un error.
- Si el archivo especificado en
En resumen, la principal diferencia práctica entre require
y include
radica en la manera en que manejan los errores.
Supongamos que tienes un archivo llamado «utilidades.php» que contiene una función de utilidad:
Y luego, tienes un archivo principal llamado «index.php» que utiliza la función de utilidad definida en «utilidades.php» mediante la instrucción include
:
En este ejemplo, el archivo «index.php» utiliza include
para incluir el archivo «utilidades.php» que contiene la función restar()
. Luego, «index.php» llama a la función restar()
para restar dos números e imprime el resultado. La función restar()
definida en «utilidades.php» es accesible en «index.php» después de usar include
para incluir el archivo «utilidades.php».
Variaciones: require_once
e include_once
En PHP, existen variaciones de estas construcciones llamadas require_once
e include_once
. Estas versiones se utilizan para asegurarse de que el archivo externo se incluya una sola vez, independientemente de cuántas veces se llame en el código.
require_once
: Similar a require, pero asegura que el fichero no se agregue más de una vez. Esto es útil cuando se trabaja con archivos que contienen definiciones de clases o funciones, ya que incluirlos múltiples veces podría generar errores fatales.include_once
: Funciona de manera similar ainclude
, pero también se asegura de que el archivo se incluya solo una vez. Esto previene duplicaciones que podrían generar advertencias o comportamientos inesperados.
Mejores Prácticas al Usar require
e include
- Evitar la duplicación: Al trabajar con scripts que pueden incluirse en múltiples lugares, es mejor utilizar
require_once
oinclude_once
para evitar problemas de redefinición de funciones o clases. - Estructurar el código: Mantener una estructura de archivos bien organizada es esencial. Utilizar archivos separados para funciones, clases, y configuraciones comunes puede hacer que el código sea más fácil de mantener.
- Manejo de errores: Siempre que un archivo sea crítico para el funcionamiento del script, usa
require
orequire_once
. Si el archivo es opcional o no crítico,include
es la mejor opción.
Conclusión
La elección entre require
e include
depende del propósito del archivo que estás incluyendo y de cómo quieres que tu script maneje los errores. Si el archivo es indispensable, require
es la opción adecuada; si el archivo es opcional, include
es más flexible. Además, las versiones once
de ambas construcciones ayudan a evitar problemas de inclusión duplicada en aplicaciones complejas. Al conocer y aplicar estas diferencias, puedes construir aplicaciones PHP más robustas y eficientes.