PHP: ¿Matar script o regreso prematuro?
Pregunta
En PHP, puedo usar die () para matar todo el script. Sin embargo, quiero que el script se ejecute hasta cierto punto y renuncie sin que todo el script muera.
Algo como esto:
echo "Hello, what is your name?";
if($name == $blacklist)
{
echo "I don't talk to strangers";
die(); // This will break all the echos
}
else
// Stuff
Solo quiero que el script termine (e imprima los ecos hasta el punto de terminación), y usar die () realmente hará que el script no imprima nada.
¿Algunas ideas? Tal vez "regresar 0" como en C?
Solución
Tu puedes hacer:
die("I don't talk to strangers");
O:
echo "I don't talk to strangers";exit;
O simplemente "regresar" return;
O throw new Exception("I don't talk to strangers");
Otros consejos
No hay "ejecución de script" como lo imaginas.
En realidad, hay dos instancias del mismo script en ejecución, no uno. El primero en hacer la pregunta y el segundo en verificar la respuesta.
La ejecución de PHP Scripts es atómica. No es como una aplicación de escritorio que se ejecuta constantemente en su navegador, y ni siquiera un demonio con una conexión persistente con su aplicación de escritorio. Es más como una utilidad de línea de comando: hacer su trabajo y salidas. Corre discreto.
Por lo tanto, debe elegir la rama adecuada del código para terminar, no todo el script.