Pregunta

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

Estoy totalmente confundido en la diferencia de die y exit.

La mayoría de los programadores utilizan die como esto.

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');  //don't see mysql_* problem it is just example
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

y usando exit como esto

$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
   or exit("unable to open file ($filename)");

Según su funcionalidad, no creo que haya ninguna diferencia porque ambas finalizan la ejecución del script.

Mi pregunta es

1) ¿Puedo intercambiar morir con salida y viceversa en estos ejemplos?

2) Y la diferencia entre estos también.

Salud...

¿Fue útil?

Solución

Según die es equivalente a salir .Así que sí, puedes intercambiarlos.

Otros consejos

Al usar la línea de comando,

die("Error");

Se imprimirá como "Error" para STDOUT y salgo con código de error 0.

si quieres salir con código de error 1, tienes que:

fwrite(STDERR, "Error");
exit(1);

Podría ser útil al ejecutar scripts php desde la línea de comandos o scripts de shell y desea ver si el script terminó con un código de salida distinto de cero.

Ésa es una diferencia que se me ocurre.

PDInformación anterior obtenida de php.net/exit

No hay diferencia entre la función DIE () y SALIR (). Ambos son iguales y funcionan igual.

La pregunta de nuevo es la razón por la que PHP mantiene ambas funciones si son iguales. Ambas funciones son alias de la función.

Debido a la API y manteniendo la compatibilidad con atraso Ambas funciones se mantienen.

Aquí hay un ejemplo más:

is_int () e is_integer () también son iguales.

Hay bastantes funciones en PHP que puede llamar con más de un nombre. En algunos casos, no hay un nombre preferido entre los múltiples, IS_INT () y IS_INTEGER () son igualmente buenos, por ejemplo. Sin embargo, hay funciones que cambian de nombre debido a una limpieza de API o alguna otra razón y los nombres antiguos solo se mantienen como alias para la compatibilidad hacia atrás. Por lo general, es una mala idea usar este tipo de alias, ya que pueden estar vinculados a la obsolescencia o al cambio de nombre, lo que conducirá a un guión poco adecuado. Esta lista se proporciona para ayudar a aquellos que desean actualizar sus viejos scripts a la sintaxis más nueva.

Lista completa de funciones de alias de alias que encontrará en la siguiente URL:

http://php.net/manual/en/aliases.php

Que esto lo ayudará :)

die es alias de la función exit.

Hay muchos alias de función en PHP, debido a cómo el lenguaje ha evolucionado, evoluciona y también lo supera: http://www.php.net/manual/en/aliases.php .

Die imprime el argumento a STDOUT, no a STDERR (GREP o 2> / dev / null te ayudará a probarlo) Die vuelve al código de salida de Shell como 0, pero la salida puede devolver otro código Deje que definen el análogo completo en PHP:

function mydie($str){
  echo $str.PHP_EOL;
  exit(0);
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top