otra - incluir archivo php en html
¿Cuál es la diferencia entre require e include con php? (8)
Esta pregunta ya tiene una respuesta aquí:
- Diferencia entre "incluir" y "requerir" en php 7 respuestas
Quiero saber cuándo debo usar include
o require
y cuál es la ventaja de cada uno.
Como han dicho otros, si "require" no encuentra el archivo que está buscando, la ejecución se detendrá. Si include no archiva el archivo que está buscando, la ejecución continuará.
En general, require debe usarse cuando se importan bibliotecas de código / clase / función. Si intentas invocar una función, instanciar una clase, etc. y las definiciones no están allí, sucederán cosas malas. Por lo tanto, necesita que php incluya su archivo y, si no puede hacerlo, se detiene.
Use include cuando usa PHP para generar contenido o, de lo contrario, ejecute código que, si no se ejecuta, no necesariamente destruirá el código posterior. El ejemplo clásico de esto es implementar una Vista en un marco Modelo / Vista / Controlador. Nada nuevo debe definirse en una vista, ni debe cambiar el estado de la aplicación. Por lo tanto, está bien usar include, porque una falla no romperá otras cosas que suceden en la aplicación.
Una pequeña tangente. Existe una gran cantidad de información contradictoria y de información errónea sobre el rendimiento de incluir vs. requerir vs. requerir_una vez incluir_una vez. Se comportan de manera radicalmente diferente bajo diferentes situaciones / casos de uso. Este es uno de esos lugares donde realmente necesita comparar la diferencia en su propia aplicación.
La diferencia es esta: include no fallará si no puede encontrar el recurso, requiere voluntad. Honestamente, es un poco tonto que exista existe, porque si estás intentando cargar un recurso, estás contando con que esté allí. Si va a usar algo, le recomendaría usar require_once siempre, de esa manera no se topa con colisiones (es decir, si otra secuencia de comandos requiere el mismo archivo) y su código siempre funciona como se esperaba porque sabe los recursos que tiene incluidos están allí (de lo contrario está fallando).
Por http://www.alt-php-faq.org/local/78/ :
A diferencia de include (), require () siempre leerá en el archivo de destino, incluso si la línea en la que se encuentra nunca se ejecuta. Si desea incluir un archivo condicionalmente, use include (). La instrucción condicional no afectará a require (). Sin embargo, si la línea en la que se produce require () no se ejecuta, tampoco se ejecutará el código en el archivo de destino.
Si un archivo es opcional, inclúyalo. Por ejemplo, puede tener un archivo ''breaking-news.txt'' que se crea cuando hay noticias de última hora, pero no existe cuando no hay ninguna. Podría incluirse sin que se rompa el guión si no hay noticias de última hora.
Si el archivo es necesario para que el resto del script funcione correctamente, solicítelo.
require
requiere, include
incluye.
De acuerdo con el manual:
require () es idéntico a include (), excepto cuando falla produce un error de nivel E_ERROR fatal. En otras palabras, detendrá la secuencia de comandos mientras que include () solo emite una advertencia (E_WARNING) que permite que la secuencia de comandos continúe.
En un lenguaje sencillo, si utilizamos require, debemos asegurarnos de que el archivo existe en esa época, mientras que no es necesario en caso de incluir. Pero intenta asegurarte de que el archivo exista.
Require()
e include()
son lo mismo con respecto al manejo de fallas. Sin embargo, require()
da como resultado un error fatal y no permite el procesamiento de la página. es decir, incluir permitirá que la secuencia de comandos continúe.
Include and require are identical, except upon failure:
require will produce a fatal error (E_COMPILE_ERROR) and stop the script
include will only produce a warning (E_WARNING) and the script will continue
Puede comprender con examle include ("test.php"); echo "/ nEsta línea se imprimirá";
Salida: Advertencia: include (test.php): no se pudo abrir la secuencia: No hay tal archivo o directorio en / var / www / ........ Esta línea se imprimirá
require ("test.php"); echo "/ nEsta línea se imprimirá"; Advertencia: require (test.php): no se pudo abrir la secuencia: no hay tal archivo o directorio en / var / www / ....