PHP: Was ist der Unterschied zwischen exit () / die () und return; in "self" und enthaltenen Dateien?

8

Ich bin immer noch auf einem PHP Lernbordstein. Was ist beim Beenden eines Skripts der Unterschied zwischen exit(); / die(); und return; ?:

?
  1. innerhalb derselben Datei (einzelne Skriptdatei)
  2. Innerhalb des Kindes eines Include
  3. Innerhalb des übergeordneten Elements eines Includes
Omar 20.12.2012, 08:53
quelle

3 Antworten

8

Return gibt einen Wert zurück. Dies kann alles sein und ist für Funktionen gedacht.

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

Ссылка

    
Jordi Kroon 20.12.2012, 08:56
quelle
2

Return gibt einen Wert (char, int, string, array ...) zurück und verlässt die Funktion.

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%     
EngineerCoder 02.01.2015 16:37
quelle
2

die und exit ( äquivalente Funktionen )

  

Beendet die Ausführung des Skripts.

return

  

Gibt die Programmsteuerung an das aufrufende Modul zurück. Die Ausführung wird fortgesetzt bei   die Anweisung, die auf den Aufruf des aufgerufenen Moduls folgt.

     

Wird die Funktion innerhalb einer Funktion aufgerufen, wird die return-Anweisung sofort zurückgegeben   beendet die Ausführung der aktuellen Funktion und gibt das Argument als zurück   der Wert des Funktionsaufrufs return beendet auch die Ausführung eines   eval () - Anweisung oder Skriptdatei.

     

Wird vom globalen Bereich aufgerufen, dann Ausführung des aktuellen Skripts   Datei ist beendet. Wenn die aktuelle Skriptdatei enthalten oder erforderlich war,   Dann wird die Kontrolle an die aufrufende Datei zurückgegeben. Außerdem, wenn die   Aktuelle Skriptdatei wurde eingefügt, dann wird der zurückgegebene Wert zurückgegeben   als Wert des Include-Aufrufs zurückgegeben werden. Wenn der Rückruf von aufgerufen wird   Innerhalb der Hauptskriptdatei endet die Ausführung des Skripts. Wenn die   Die aktuelle Skriptdatei wurde von der Datei auto_prepend_file oder   Auto_append_file Konfigurationsoptionen in php.ini, dann das Skript   Die Ausführung der Datei ist beendet.

die gegen exit

Der Unterschied zwischen die() und exit() in PHP ist ihre Herkunft .

PHP-Handbuch

PHP Handbuch für die :

  

Dieses Sprachkonstrukt entspricht exit() .

PHP-Handbuch für exit :

  

Hinweis: Dieses Sprachkonstrukt entspricht die() .

PHP-Handbuch für Liste der Funktionsalias :

  

die ist ein Alias ​​für die Master-Funktion exit()

UNTERSCHIEDLICH IN ANDEREN SPRACHEN

die() und exit() sind anders in anderen Sprachen , in PHP sind sie identisch.

Von Noch ein PHP-Fluch :

  

... Als C- und Perl-Codierer war ich bereit zu antworten: "Warum, exit () kündigt einfach   Aus dem Programm mit einem numerischen Exit - Status, während die Taste die Taste () ausdruckt   Fehlermeldung zu stderr und beendet den Status EXIT_FAILURE. "Aber dann   Ich erinnerte mich, dass wir uns in einem chaotischen Syntax-Land von PHP befinden.

     

In PHP sind exit () und die dieselbe () identisch.

     

Die Designer dachten offensichtlich "Hmm, lasst uns exit () von C ausleihen. Und Perl   Leute werden es wahrscheinlich mögen, wenn wir die () wie auch von Perl nehmen.   Hoppla! Wir haben jetzt zwei Exit-Funktionen! Lass es uns so machen, dass sie beide   kann einen String oder eine ganze Zahl als Argument nehmen und sie identisch machen! "

     

Das Endergebnis ist, dass dies die Dinge nicht wirklich "leichter" gemacht hat,   nur verwirrender. C- und Perl-Codierer verwenden weiterhin exit () to   Werfen Sie nur einen Integer-Exit-Wert und sterben (), um eine Fehlermeldung zu werfen   und mit einem Fehler beenden. Neulinge und PHP-as-a-First-Language-Leute   Werde sich wohl wundern "ähm, zwei Austrittsfunktionen, welche sollte ich   verwenden? "Das Handbuch erklärt nicht, warum es exit () und die sterben () gibt.

     

Im Allgemeinen hat PHP eine Menge seltsamer Redundanzen wie diese - es versucht es   Sei freundlich zu Menschen, die aus verschiedenen Sprachen kommen,   aber dabei entsteht verwirrende Redundanz.

    
Geoffrey Hale 05.05.2015 23:34
quelle

Tags und Links