¿Hay alguna diferencia entre ellos? ¿Usarlos es una cuestión de preferencia? ¿El uso de uno sobre el otro produce alguna ventaja? ¿Qué es mejor para la seguridad?Diferencia entre "incluir" y "requerir" en php
Respuesta
obtendrán las diferencias explicadas en el manual detallado PHP en the page of require
:
require
es idéntica ainclude
excepto en caso de fallo también producirá un error de nivelE_COMPILE_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.
Ver @efritz's answer para un ejemplo
http://www.tiposaurus.co.uk/2011/04/04/the-difference-between-require-and-include/ "La diferencia clave entre require() e include() es que si necesita() un archivo que no se puede cargar (por ejemplo, si no está allí) genera un error fatal que detendrá la ejecución del completamente, y no se generarán más resultados. Por otro lado, si incluye() un archivo que no se puede cargar, esto generará una advertencia y continuará construyendo la página ". – stormwild
"Lo que debe usar depende de la situación; require() es más adecuado para cargar archivos que son esenciales para el resto de la página; por ejemplo, si tiene un sitio web impulsado por base de datos y luego require() para incluir un archivo que contenga el inicio de sesión y la contraseña de la base de datos son claramente preferibles a usar include(). Si utilizó include() en esta situación, puede terminar generando más advertencias y errores de los que tenía previsto ". – stormwild
' Php if (isset ($ flibbertygibbet)) require 'file.php';' parece hacer que esta respuesta parezca totalmente incorrecta. De lo contrario, debería obtener un error fatal aunque la condición no sea verdadera. 'strace' no muestra que PHP intente siquiera tocar' file.php'. – cHao
require
arrojará un error grave de PHP si el archivo no se puede cargar. (La ejecución se detiene)
include
produce una advertencia si el archivo no se puede cargar. (La ejecución continúa)
Aquí es un buen illustration of include and require difference:
Desde:Difference require vs. include php (by Robert; Nov 2012)
el enlace está roto –
Es una respuesta de seis años ... – efritz
Vea una diferencia de captura de pantalla entre función de incluir y requerir, http://whats-online.info/science-and-tutorials/83/Free-Beginner -PHP-Tutoriales --- Incluir-y-requerir-funciones/... –
Uso include
si no te importa la secuencia de comandos de continuar sin cargar el archivo (en caso de que no exista, etc.) y que puede (aunque no debería) en vivo con un mensaje de error de advertencia que se muestra.
El uso de require
significa que la secuencia de comandos se detendrá si no puede cargar el archivo especificado y arroja un error fatal.
Como otros señalaron, la única diferencia es que require arroja un error fatal e incluye: una advertencia que se puede atrapar. En cuanto a cuál usar, mi consejo es que se quede incluido. ¿Por qué? porque puede detectar una advertencia y producir un comentario significativo para los usuarios finales. Considere
// Example 1.
// users see a standard php error message or a blank screen
// depending on your display_errors setting
require 'not_there';
// Example 2.
// users see a meaningful error message
try {
include 'not_there';
} catch(Exception $e) {
echo "something strange happened!";
}
NB: por ejemplo 2 a trabajar es necesario instalar un controlador de errores a excepciones, tal como se describe aquí http://www.php.net/manual/en/class.errorexception.php
function exception_error_handler($errno, $errstr, $errfile, $errline) {
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");
En el nivel de inclusión no es un gran lugar para saber que el archivo que está esperando no está allí. Ningún problema en su ejemplo es uno para empujar a los visitantes de su sitio web. – Kzqai
La diferencia clave entre require()
y include()
es que si require()
un archivo que no se puede cargar (por ejemplo, si no está allí) genera un error fatal que detendrá la ejecución de la página por completo, y no se generará más resultados. Por otro lado, si include()
un archivo no se puede cargar, entonces esto simplemente generará una advertencia y continuará construyendo la página.
En caso de Incluir el programa no terminará y aparecerá una advertencia en el navegador, Por otro lado, Requerir programa terminará y mostrará un error fatal en caso de archivo no encontrado.
¿De verdad tienes que encontrar una pregunta de 2 años y medio para repetir lo que 2/3 de las respuestas ya han dicho ...? – cHao
¡Aww, él es un novato! Probablemente aún no comprenda el concepto de SO. –
Lo digo en palabras simples ... !!! –
<?PHP
echo "Firstline";
include('classes/connection.php');
echo "I will run if include but not on Require";
?>
Un ejemplo práctico muy simple con el código. Aparecerá el primer eco. No importa si usa include o require porque se ejecuta antes de incluir o requerido.
Para comprobar el resultado, en la segunda línea de un código, proporcionar intencionadamente la ruta incorrecta al archivo o cometer un error en el nombre del archivo. Por lo tanto, el segundo eco que se muestre o no será totalmente dependiente de si usa requiere o incluya.
Si utiliza requieren el segundo eco no ejecutará pero si se utiliza incluyen no importa qué error se verá el resultado del segundo eco también.
- 1. Diferencia entre Javascript y PHP
- 2. ¿Cuál es la diferencia entre incluir y extender en Ruby?
- 3. ¿Hay alguna diferencia entre! == y! = En PHP?
- 4. Diferencia entre NULL y nulo en PHP
- 5. ¿Diferencia entre float y double en php?
- 6. ¿Diferencia entre ruptura y continuar en PHP?
- 7. Diferencia entre objeto y clase en PHP?
- 8. Diferencia entre <? Php y <?
- 9. Diferencia de PHP entre Curl y HttpRequest
- 10. Diferencia de PHP entre shuffle y array_rand
- 11. PHP MYSQL - Diferencia entre 127.0.0.1 y localhost
- 12. Diferencia PHP entre enteros y enteros
- 13. diferencia entre PHP aviso y advertencia
- 14. Diferencia entre cifrado .NET y PHP
- 15. ¿Cuál es la diferencia entre requerir y cargar en el ceceo común?
- 16. En Perl, ¿cuál es la diferencia entre usar y requerir para cargar un módulo?
- 17. ¿Cuál es la diferencia entre <jsp: incluir página = ...> y <% @ incluir archivo = ...>?
- 18. ¿Cuál es la diferencia entre php cli y php cgi?
- 19. ¿Diferencia entre operadores de dos puntos y flechas en PHP?
- 20. Diferencia entre operadores "no iguales" <> y! = En PHP
- 21. En PHP, ¿cuál es la diferencia entre 'stripslashes' y 'stripslashes'?
- 22. ¿Hay alguna diferencia entre 'imprimir' y 'eco' en PHP?
- 23. ¿Cuál es la diferencia entre ++ $ i y $ i ++ en PHP?
- 24. En PHP, ¿cuál es la diferencia entre hash y mhash?
- 25. Diferencia entre $ a = 0 y $ a = '0' en PHP
- 26. ¿Cuál es la diferencia entre 'y "en PHP
- 27. ¿Cuál es la diferencia entre iconv() y mb_convert_encoding() en PHP?
- 28. ¿Cuál es la diferencia entre session_unset() y session_destroy() en PHP?
- 29. Diferencia entre ArrayIterator, ArrayObject y Array en PHP
- 30. ¿Cuál es la diferencia entre $ a y $$ a en php?
posible duplicado de [¿Cuándo debo usar require_once vs include?] (Http://stackoverflow.com/questions/2418473/when-should-i-use-require-once-vs-include) – Gordon
Utilizar siempre "require ". "incluir" es tan conveniente como una puerta eléctrica en una sauna. –
@MarcoMariani ¿Cómo sería eso inconveniente? Es probable que esté claro, simplemente no lo estoy viendo. ¿Quizás el vapor? –