¿Cuáles son las diferencias entre die() y exit() en PHP?
¿Cuáles son las diferencias entre die()
y exit()
funciones en PHP?
Creo que ambos tienen la misma funcionalidad, pero dudo que haya algo diferente en ambos… ¿qué es?
No hay diferencia, son iguales.
Manual PHP para exit
:
Nota: Esta construcción de lenguaje es equivalente a
die()
.
Manual PHP para die
:
Esta construcción del lenguaje es equivalente a
exit()
.
DIFERENCIA DE ORIGEN
La diferencia entre die()
y exit()
en PHP es su origen .
exit()
es deexit()
en C .die()
esdie
de Perl .
FUNCIONALMENTE EQUIVALENTE
die()
y exit()
son funciones equivalentes.
Manual PHP
Manual PHP para die
:
Esta construcción del lenguaje es equivalente a
exit()
.
Manual PHP para exit
:
Nota: Esta construcción de lenguaje es equivalente a
die()
.
Manual de PHP para la lista de alias de funciones :
die
es un alias para la función maestraexit()
DIFERENTE EN OTROS IDIOMAS
die()
y exit()
son diferentes en otros lenguajes pero en PHP son idénticos.
De otra perorata de PHP :
... Como codificador de C y Perl, estaba listo para responder: "Bueno, exit() simplemente cancela el programa con un estado de salida numérico, mientras que die() imprime el mensaje de error en stderr y sale con el estado EXIT_FAILURE. " Pero luego recordé que estábamos en la tierra de la sintaxis desordenada de PHP.
En PHP, exit() y die() son idénticos.
Los diseñadores obviamente pensaron "Hmm, tomemos prestado exit() de C. Y a la gente de Perl probablemente les gustará si también tomamos die() tal como está de Perl . ¡Ups! ¡Ahora tenemos dos funciones de salida! Hagámoslo para que ambas ¡Puedo tomar una cadena o un número entero como argumento y hacerlos idénticos!
El resultado final es que esto realmente no hizo las cosas "más fáciles", sólo más confusas. Los codificadores de C y Perl continuarán usando exit() para generar solo un valor de salida entero, y die() para generar un mensaje de error y salir con un error. Los principiantes y los usuarios de PHP como primer idioma probablemente se preguntarán "umm, dos funciones de salida, ¿cuál debo usar?" El manual no explica por qué existen exit() y die().
En general, PHP tiene muchas redundancias extrañas como esta: intenta ser amigable con las personas que provienen de diferentes idiomas, pero al hacerlo, crea una redundancia confusa.