Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist ein PHP-Destruktor?

Was ist ein PHP-Destruktor?

藏色散人
藏色散人Original
2020-06-30 10:14:382719Durchsuche

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.

Was ist ein PHP-Destruktor?

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!

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