Heim >Backend-Entwicklung >PHP-Tutorial >PHP: Unter welchen Umständen wird die Destruktormethode __destruct ausgeführt?
php Destruktormethode Unter welchen Umständen wird die Zerstörung ausgeführt? Wird sie in allen Fällen angetroffen?>php-Endzeichen wird ebenfalls ausgeführt
Destruktor Wird ausgeführt Wird ausgeführt, wenn alle Referenzen auf ein bestimmtes Objekt gelöscht sind oder wenn das Objekt explizit zerstört wird
wird ausgeführt, bevor das Objekt zerstört wird ?
Laut offiziellem Handbuch wird der Destruktor ausgeführt, wenn alle Verweise auf ein Objekt gelöscht werden oder wenn das Objekt explizit zerstört wird. Die Codedemonstration lautet wie folgt:
class sf{ public function destruct() { echo METHOD . PHP_EOL; } } $c1 = new sf; $c2 = $c1;echo 'unset $c2' . PHP_EOL;unset($c2);echo 'unset $c1' . PHP_EOL;unset($c1);// ----$c1 = new sf; $c2 = $c1;echo 'null $c2' . PHP_EOL; $c2 = null;echo 'null $c1' . PHP_EOL; $c1 = null;// ----$c1 = new sf; $c2 = $c1;echo '123 $c2' . PHP_EOL; $c2 = 123;echo '456 $c1' . PHP_EOL; $c1 = 456;echo 'the end' . PHP_EOL;
Die Ausführungsergebnisse lauten wie folgt
unset $c2unset $c1 sf::destructnull $c2null $c1 sf::destruct123 $c2456 $c1 sf::destruct the end
Der Destruktor wird ausgeführt, wenn alle Verweise auf ein Objekt gelöscht werden oder wenn das Objekt explizit zerstört wird .
Im Allgemeinen zerstört PHP die Referenz, wenn das Skript endet (nicht deaktiviert) und wird ausgeführt, bevor das Skript endet.
Das obige ist der detaillierte Inhalt vonPHP: Unter welchen Umständen wird die Destruktormethode __destruct ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!