Heim >Backend-Entwicklung >PHP-Tutorial >PHP: Unter welchen Umständen wird die Destruktormethode __destruct ausgeführt?

PHP: Unter welchen Umständen wird die Destruktormethode __destruct ausgeführt?

黄舟
黄舟Original
2017-07-02 10:36:094012Durchsuche

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!

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