Ich habe Code gesehen, der das macht:
%Vor% Und andere, die nur die
verwenden:
Gibt es irgendeinen Unterschied darin, wann es das Programm beenden würde, sollte mir der dahinter folgende Code bekannt sein? und so weiter
AKTUALISIEREN
Ich frage hauptsächlich, ob es ein Kodierungsstil ist, oder ob es einen wirklichen Grund gibt, warum einige auf eine Weise gegen eine andere kodiert sind. Ich frage nicht, was der Unterschied zwischen exit
und die
ist.
Nein, es gibt keinen Unterschied; Sie schreiben "exit"
in STDOUT und beenden das Programm.
Ich würde die die("exit")
-Methode bevorzugen, da sie weniger eintippt, leichter auskommentiert und semantisch klarer ist.
Was "Geschwindigkeit" angeht, warum interessiert es dich, was schneller ist? Brauchen Sie Ihr Programm, um wirklich schnell zu sterben?
RE: Ihr Update
... irgendein inhärenter Unterschied, wenn es das Programm beenden würde ...
Es gibt keine Differenz, die inhärent oder nicht vorhanden ist. Sie sind identisch. Die zweite Option, die('exit')
, ist eine einzelne Anweisung und benötigt daher keine Klammern, wenn sie mit einer if
-Anweisung verwendet wird. Das hat nichts mit dem die
zu tun und alles, was mit Blöcken und Ablaufsteuerung in C-artigen Sprachen zu tun hat.
RE: Ihr Kommentar / zweites Update
Welchen Weg Sie die
wählen, ist eine Frage der persönlichen Präferenz. Wie gesagt, sie sind identisch . Ich würde die zweite Option aus den oben genannten Gründen wählen: Kürzer, klarer, sauberer, was meiner Meinung nach "besser" ist.
Der Unterschied zwischen exit
und die
besteht darin, dass exit
Ihnen erlaubt, einen Status ungleich Null zurückzugeben, während die
0 zurückgibt. Keine der Funktionen ist "besser", sie dienen unterschiedlichen Zwecken.
Es gibt einen Unterschied, Jungs. DIE () kann mit anderen Funktionen verwendet werden, die nicht übertragen werden können, während das Echo als Fehler oder Ausnahme abgefangen werden muss.
%Vor%Gibt dir eine sofortige Fang / Würfelsequenz.
Für das spezifische Beispiel, das Sie gepostet haben, sind sie gleich, da $status
eine Zeichenkette ist, aber als Das Handbuch sagt, dass dies möglicherweise nicht immer der Fall ist:
Wenn der Status eine Zeichenkette ist, diese Funktion druckt den Status unmittelbar vor dem Beenden.
Wenn status eine Ganzzahl ist, dieser Wert wird als Exit-Status und verwendet nicht gedruckt. Exit-Status sollte sein im Bereich von 0 bis 254 der Exit-Status 255 ist von PHP reserviert und soll nicht verwendet werden. Der Status 0 wird verwendet beende das Programm erfolgreich.
Wenn Sie also anstelle von 'exit from program'
ausgeben möchten, sagen Sie 42
, was Sie wirklich tun müssten:
Die Sprachkonstrukte exit()
und die()
sind äquivalent, zumindest nach dem PHP-Handbuch. Ich verwende exit (), wenn diese Zeile erreicht werden soll und das Skript an diesem Punkt anhalten soll. Stirb () dagegen ist für Situationen, die nicht auftreten sollten. Das ist genau das, was sich für mich am natürlichsten anfühlt. Sie müssen mir nicht zustimmen.
Meistens ist es Kodierungsstil. Wenn Sie jedoch Debug-Meldungen ausgeben, ist echo then die bessere:
%Vor%wird
%Vor%Natürlich hätten Sie wahrscheinlich
%Vor%Das ist viel einfacher für mein Auge als
%Vor%Aus dem php-Handbuch:
Hinweis: Dieses Sprachkonstrukt ist äquivalent zu sterben ().
Aber es gibt immer noch Unterschiede zwischen stirb und exit :
Mit Hilfe von die () können Sie einen String posten: die ("Ein Fehler ist aufgetreten");
Gleiches Ergebnis mit exit ()
%Vor%ODER wenn Sie eine cli oder unix Shell sind:
Wenn Sie PHP in der Befehlszeile verwenden, gibt die Dies ("Ein Fehler ist aufgetreten") einfach "Ein Fehler ist aufgetreten" an STDOUT aus und beendet das Programm mit einem normalen Beendigungscode von 0.
%Vor%