Heim > Artikel > Backend-Entwicklung > Was ist ein PHP-Destruktor?
Der PHP-Destruktor wurde in PHP5 eingeführt und ähnelt anderen objektorientierten Sprachen wie „C++“. Der Destruktor wird gelöscht, wenn alle Verweise auf ein Objekt gelöscht werden oder wenn das Objekt explizit ausgeführt wird zerstört, und wie der Konstruktor wird der Destruktor der übergeordneten Klasse nicht heimlich von der Engine aufgerufen.
PHP-Destruktor
Destruktor: PHP 5 führte das Konzept des Destruktors ein, das anderen ähnlich ist objektorientierte Sprachen wie C++. Ein Destruktor wird ausgeführt, wenn alle Verweise auf ein Objekt entfernt werden oder wenn das Objekt explizit zerstört wird.
Destruktor
__destruct ( void ) : void
Beispiel für einen Destruktor
<?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 auch der Destruktor der übergeordneten Klasse durch den Engine-Aufruf nicht ausgeblendet. 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, nachdem 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).
Hinweis:
Der Versuch, eine Ausnahme im Destruktor auszulösen (der aufgerufen wird, wenn das Skript beendet wird), führt zu einem schwerwiegenden Fehler.
Weitere Informationen zu diesem Thema finden Sie auf der PHP-Website für Chinesisch!
Das obige ist der detaillierte Inhalt vonWas ist ein PHP-Destruktor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!