Heim >Backend-Entwicklung >PHP-Problem >Die Rolle des PHP-Destruktors
Die Rolle des PHP-Destruktors
Kurz gesagt besteht die Rolle des Destruktors darin, Speicher freizugeben.
Destruktor
__destruct ( void ) : void
PHP 5 führte das Konzept des Destruktors ein, ähnlich wie bei anderen objektorientierten Sprachen wie C++. Der Destruktor wird ausgeführt, wenn alle Verweise auf ein Objekt gelöscht werden oder wenn das Objekt explizit zerstört wird. Dies bedeutet, dass der Destruktor ausgeführt wird, wenn das von der Klasse instanziierte Objekt zerstört wird.
Destruktorbeispiel
<?php class MyDestructableClass { function __construct() { print "In constructor\n"; $this->name = "MyDestructableClass"; } function __destruct() { print "Destroying " . $this->name . "\n"; } } $obj = new MyDestructableClass(); ?>
Wie der Konstruktor wird der Destruktor der übergeordneten Klasse nicht heimlich von der Engine aufgerufen. Um den Destruktor der übergeordneten Klasse auszuführen, muss parent::__destruct() explizit im Destruktorkörper der untergeordneten Klasse aufgerufen werden. Darüber hinaus erbt die Unterklasse genau wie der Konstruktor die übergeordnete Klasse, wenn sie keinen Destruktor definiert.
Der Destruktor wird auch dann aufgerufen, wenn das Skript mit exit() beendet wird. Durch den Aufruf von „exit()“ im Destruktor werden die verbleibenden Shutdown-Vorgänge abgebrochen.
Hinweis:
● Der Destruktor wird aufgerufen, wenn das Skript geschlossen wird, wenn alle HTTP-Header gesendet wurden. Es ist möglich, dass das Arbeitsverzeichnis beim Schließen des Skripts ein anderes ist als in einem SAPI (z. B. Apache).
● Der Versuch, eine Ausnahme im Destruktor auszulösen (der aufgerufen wird, wenn das Skript beendet wird), führt zu einem schwerwiegenden Fehler.
Verwandte Empfehlungen: [PHP-Tutorial]
Das obige ist der detaillierte Inhalt vonDie Rolle des PHP-Destruktors. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!