¿Cuáles son las diferencias entre die() y exit() en PHP?

Resuelto coderex asked hace 54 años • 0 respuestas

¿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?

coderex avatar Jan 01 '70 08:01 coderex
Aceptado

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().

Marek Karbarz avatar Nov 25 '2009 06:11 Marek Karbarz

DIFERENCIA DE ORIGEN

La diferencia entre die()y exit()en PHP es su origen .

  • exit()es de exit()en C .
  • die()es diede 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 :

diees 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.

Geoffrey Hale avatar Jan 08 '2015 23:01 Geoffrey Hale