Quiero saber cuándo debo usar include
o require
y cuál es la ventaja de cada uno.¿Cuál es la diferencia entre require e include con php?
Respuesta
require
requiere, include
incluye.
Según el manual:
requieren() es idéntica a incluir(), excepto en caso de fallo se producirá 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.
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 es nunca es ejecutada. 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.
La única diferencia entre include() y require() es que al producirse un error (es decir, si el archivo no se puede encontrar), require() emite un error, mientras que include() emite una advertencia. – mjs
La diferencia es la siguiente: 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 vas a usar algo, te recomendaría usar require_once siempre, de esa manera no te encuentras con colisiones (es decir, si otra secuencia de comandos requiere el mismo archivo) y tu código siempre funciona de la manera prevista porque conoces los recursos que tienes incluidos están allí (de lo contrario está fallando).
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 de la secuencia de comandos funcione correctamente, solicítelo.
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 utilizarse al importar 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, usted requiere php para incluir su archivo, y si no puede, se detiene.
Use include cuando usa PHP para generar contenido o ejecutar 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.
Gracias por proporcionar el caso de uso para incluir. No pude entender cuándo usarlo antes. – JDelage
En un lenguaje sencillo, si utilizamos requieren, 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()
y include()
son lo mismo con respecto a la gestión de fallas . Sin embargo, require()
resulta en un error fatal y no permite el procesamiento de la página. es decir, incluir permitirá que la secuencia de comandos continúe.
tanto 'include' como' require' son ** construcciones de lenguaje **. Ellos no usan paréntesis. – Jimbo
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
Se puede entender con examle incluyen ("prueba.php"); echo "\ nEsta línea se imprimirá";
Salida: Warning: include (prueba.php): no pudo abrir la secuencia: No existe el fichero o directorio en/var/www/........ Esta línea se imprime
requieren ("test.php"); echo "\ nEsta línea se imprimirá"; Advertencia: require (test.php): no se pudo abrir la secuencia: Ningún archivo o directorio en/var/www/....
- 1. ¿Cuál es la diferencia entre PHP require e include?
- 2. ¿Cuál es la diferencia entre include y require en Ruby?
- 3. Erlang: ¿cuál es la diferencia entre "include_lib" e "include"?
- 4. ¿Cuál es la diferencia entre require_relative y require en Ruby?
- 5. ¿Cuál es la diferencia entre `require` y` gem`
- 6. ¿Cuál es la diferencia entre xsd: include y xsd: import?
- 7. PHP Namespace e Include() con las clases
- 8. Cuál es la diferencia entre __construct() e init()
- 9. include, include_once, require or require_once?
- 10. ¿Cuál es la diferencia entre objeto e instancia?
- 11. ¿Cuál es la diferencia entre compilar e implementar?
- 12. ¿Cuál es la diferencia entre IDelegateEvent e IEvent en F #?
- 13. ¿Cuál es la diferencia entre int [] [] e int [,]?
- 14. Cuál es la diferencia entre 'índice' e 'índice de lista'
- 15. ¿Cuál es la diferencia entre Tarea e hilo?
- 16. Cuál es la diferencia entre Add-PsSnapIn e Import-Module
- 17. Cuál es la diferencia entre IQueryable e IEnumerable
- 18. ¿cuál es la diferencia entre invalidateList e invalidateDisplayList?
- 19. ¿Cuál es la diferencia entre "indefinido" e indefinido?
- 20. ¿Cuál es la diferencia entre NHibernate e iBATIS.NET?
- 21. Localización e internacionalización, ¿cuál es la diferencia?
- 22. ¿Cuál es la diferencia entre IDREF e IDREFS en XSD?
- 23. ¿Cuál es la diferencia entre Scope_Identity(), Identity(), @@ Identity e Ident_Current()?
- 24. ¿Cuál es la diferencia entre WAS e IIS?
- 25. ¿Cuál es la diferencia entre identidad e igualdad en OOP?
- 26. ¿Cuál es la diferencia entre las interfaces IComparable e IEquatable?
- 27. ¿Cuál es la diferencia entre "protegido" e "interno protegido"?
- 28. ¿Cuál es la diferencia entre IEnumerator e IEnumerable?
- 29. ¿Cuál es la diferencia entre una clave principal e identidad?
- 30. ¿Cuál es la diferencia entre "privado" e "interno protegido"?
solía ser diferente, aunque :-) – dusoft
Es cierto, pero lo interesante sería ser para entender cuándo usar uno o el otro. – JDelage