Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse der PHP-Funktion register_shutdown_function

Analyse der PHP-Funktion register_shutdown_function

不言
不言Original
2018-04-09 16:13:531552Durchsuche

In diesem Artikel wird die PHP-Funktion „register_shutdown_function“ analysiert und vorgestellt.

Skripte gehen oft verloren, und wir möchten keinen schwerwiegenden Fehler anzeigen Der Benutzer. Oder eine leere Seite (wenn display_errors auf off gesetzt ist). Es gibt eine Funktion namens register_shutdown_function, die es uns ermöglicht, eine andere Funktion festzulegen, die aufgerufen werden kann, wenn die Ausführung beendet wird Es wird gesagt, dass unsere Funktion aufgerufen wird, wenn die Ausführung unseres Skripts abgeschlossen ist oder unerwartet abbricht, was dazu führt, dass die PHP-Ausführung beendet wird. Daher können wir am Anfang des Skripts eine Variable auf „false“ setzen. und wenn Sie es am Ende des Skripts auf „true“ setzen, kann PHP die Callback-Funktion schließen, um zu überprüfen, ob das Skript vollständig ist. Wenn unsere Variable immer noch „false“ ist, wissen wir, dass die letzte Zeile des Skripts nicht ausgeführt wurde, also muss es so sein Ich habe ein sehr einfaches Beispiel vorbereitet, um zu zeigen, wie Sie dem Benutzer eine entsprechende Rückmeldung geben sollten, wenn ein schwerwiegender Fehler angezeigt werden muss kann display_errors und error_reporting festlegen, damit das Beispiel besser aussieht.

Kopieren Sie den Code

Der Code lautet wie folgt:

$clean = false;
function Shutdown_func(){
global $clean;
if (!$clean){
die("not a clean Shutdown");
}
return false;
}
register_shutdown_function("shutdown_func");
$a = 1;
$a = new FooClass(); // Wird mit schwerwiegendem Fehler fehlschlagen
$clean = true;
?>


Wie Sie sehen können, wird die Funktion „shutdown_func“ gedruckt, wenn die Variable „clean“ nicht auf „true“ gesetzt ist, wenn die Rückruffunktion „shutdown“ ausgeführt wird Etwas. Dieses Ding kann in eine Klasse eingeschlossen werden (Verwenden Sie keine globalen Variablen).

PHP stellt die Funktion register_shutdown_function() bereit, die die registrierte Funktion zurückrufen kann, bevor das Skript beendet wird, d. h. die Funktion, die danach ausgeführt wird Die Ausführung des PHP-Programms ist abgeschlossen.
register_shutdown_function Der Ausführungsmechanismus ist: PHP überträgt die aufzurufende Funktion in den Speicher. Diese Funktion wird erneut aufgerufen, wenn alle PHP-Anweisungen auf der Seite ausgeführt wurden. Beachten Sie, dass es zu diesem Zeitpunkt aus dem Speicher und nicht von der PHP-Seite aufgerufen wird. Daher können im obigen Beispiel keine relativen Pfade verwendet werden, da PHP bereits davon ausgegangen ist, dass die Originalseite nicht existiert. Es gibt überhaupt keinen relativen Pfad.


Hinweis: register_shutdown_function bedeutet, dass die Funktion aufgerufen wird, nachdem alle PHP-Anweisungen ausgeführt wurden. Verstehen Sie es nicht als Aufruf der Funktion, wenn der Client die Streaming-Browserseite schließt. Sie können die Aufrufbedingungen wie folgt verstehen:

1 Wenn die Seite vom Benutzer angehalten wird
2 Wenn der Programmcode abläuft 3. Wenn der PHP-Code ausgeführt wird Nach Abschluss gibt es Ausnahmen, Fehler und Warnungen bei der Codeausführung

Verwandte Empfehlungen:

So verwenden Sie statische Variablen von PHP-Funktionen

                                           >

Das obige ist der detaillierte Inhalt vonAnalyse der PHP-Funktion register_shutdown_function. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn