768 Stimmen

Was sind die Unterschiede zwischen die() und exit() in PHP?

Was sind die Unterschiede zwischen die() y exit() Funktionen in PHP?

Ich denke, beide haben die gleiche Funktionalität, aber ich bezweifle, dass es etwas gibt, das sich in beiden unterscheidet... was ist es?

0voto

Luo Jiong Hui Punkte 5044

Funktionell sind sie identisch. Es ist also eine Frage der persönlichen Vorliebe, welches der beiden Wörter man verwendet. Semantisch sind sie im Englischen unterschiedlich. Die klingt negativ. Wenn ich eine Funktion habe, die JSON-Daten an den Client zurückgibt und das Programm beendet, kann es furchtbar sein, wenn ich diese Funktion jsonDie() nenne, und es ist angemessener, sie jsonExit() zu nennen. Aus diesem Grund verwende ich immer exit anstelle von die.

0voto

Nach dem, was ich weiß, wenn ich diese Frage betrachte aquí

Dort heißt es: "In PHP gibt es einen deutlichen Unterschied in der Header-Ausgabe. In den folgenden Beispielen habe ich einen anderen Header verwendet, aber um den Unterschied zwischen exit() und die() zu zeigen, spielt das keine Rolle", und testete (persönlich)

-6voto

MERT DOĞAN Punkte 2430

Das Ergebnis der exit()-Funktion und der die()-Funktion ist immer gleich. Aber wie in der Alias-Handbuchseite erklärt ( http://php.net/manual/en/aliases.php ), heißt es, dass die Funktion die() die Funktion exit aufruft. Ich denke, es ist hart kodiert wie unten:

function die($msg){
  exit($msg);
}

Dies ist kein Leistungsproblem für kleine, mittlere und große Projekte, aber wenn ein Projekt Milliarden mal Milliarden mal Milliarden von Prozessen hat, ist dies ein sehr wichtiger Zustand der Leistungsoptimierung.

Aber die meisten Leute denken nicht, dass dies ein Problem ist, denn wenn man so viele Prozesse hat, muss man sich mehr Gedanken darüber machen, ob eine Funktion Master oder Alias ist.

Aber die genaue Antwort ist, dass die Master-Funktion immer schneller ist als der Alias.

Endlich; Alias Handbuchseite sagt, dass Sie den Würfel nicht mehr verwenden dürfen. Es ist nur ein Alias, und es ist veraltet.

Es ist in der Regel eine schlechte Idee, diese Art von Aliasen zu verwenden, da sie möglicherweise veraltet sind oder umbenannt werden müssen, was zu einem unportablen Skript. Diese Liste soll denjenigen helfen, die ihre alten Skripte auf eine neuere Syntax umzustellen.

-7voto

noowie Punkte 39

Etwas, das ich zumindest in meinen Skripten bemerkt habe, ist, dass exit() das aktuell ausgeführte Skript stoppt und die Kontrolle an jedes aufrufende Skript zurückgibt, während die php in seinen Spuren stoppt. Ich würde sagen, das ist ein ziemlich großer Unterschied?

-10voto

Icheb Punkte 237

Sie klingen in etwa gleich, allerdings können Sie mit exit() auch den Exit-Code Ihres PHP-Skripts festlegen.

Normalerweise braucht man das nicht wirklich, aber wenn man Konsolen-PHP-Skripte schreibt, möchte man vielleicht z.B. mit der Bash überprüfen, ob das Skript alles richtig gemacht hat.

Dann können Sie exit() verwenden und das später auffangen. Die() unterstützt dies jedoch nicht.

Die() existiert immer mit Code 0. Ein Stirb()-Befehl macht also im Wesentlichen Folgendes:

<?php
echo "I am going to die";
exit(0);
?>

Das ist dasselbe wie:

<?php
die("I am going to die");
?>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X