Ein Destruktor ist eine Funktion, die zum Löschen der Objektinstanz verwendet wird, die von einem Konstruktor für eine bestimmte Klasse als Teil ihrer Funktionsfunktion erstellt wurde. Wann immer ein Konstruktor in einem PHP-Programm verwendet wird, ist es nicht zwingend erforderlich, dass eine Destruktorfunktion zur Ergänzung seiner Funktionalität vorhanden ist. Es wird jedoch als bewährte Vorgehensweise angesehen, einen Destruktor im Programm zu haben, wo ein Konstruktor benötigt wird. Außerdem wird diese Methode nicht speziell zur Ausführung aufgerufen, sondern ausgeführt, wenn das Steuerelement keine funktionalen Verweise mehr auf die Konstruktormethode findet.
Grundlegende Syntax zum Aufrufen eines Destruktors: Die Funktion __destruct()
WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax:
1 |
|
Damit jeder Destruktor aufgerufen werden kann, muss davor ein Konstruktor stehen, wie unten gezeigt:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Der Destruktor wird grundsätzlich vom Garbage Collector verwaltet, der ein Objekt löscht, wenn es nicht mehr benötigt wird. Im Gegensatz zum Konstruktor kann er keine Argumente als Eingabe annehmen.
Diese Methode wird auch zum Bereinigen von Ressourcen und zum Freigeben des Speichers für mehr Speicherplatz verwendet. Mit Destruktoren kann kein Überladen durchgeführt werden und es kann nur ein einziger Destruktor in derselben Klasse vorhanden sein. Ein weiteres einzigartiges Merkmal besteht darin, dass der Destruktor auch dann aufgerufen wird, wenn die Ausführung des Skripts mithilfe eines Befehls „exit()“ gestoppt wurde. Dieser Exit() verhindert, dass die verbleibenden Shutdown-Methoden beendet werden.
Nehmen wir einige Beispiele, um den Destruktor besser zu verstehen:
Dies ist ein einfaches Beispiel, in dem wir eine grundlegende Konstruktorfunktion erstellen und diese dann zerstören, indem wir die Destruktorfunktion aufrufen.
Code:
1 2 3 4 5 6 7 8 9 10 11 |
|
Ausgabe:
Für dieses Beispiel verwenden wir zwei Variablen im Konstruktor; Vorname und Nachname des Mitarbeiters und dann zerstören wir das Objekt „Mitarbeiter“, kurz bevor der PHP-Code endet, indem wir den Destruktor aufrufen.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
Ausgabe:
In diesem Beispiel werden wir sehen, wie mit einer Datei test_doc.txt umgegangen wird, bei der es sich um ein erforderliches Textdokument handelt, das im selben Arbeitsverzeichnis wie die Hauptdatei vorhanden sein muss. Stellen Sie sicher, dass Sie in test_doc.txt Text einfügen, der als Teil des Codes angezeigt werden muss.
fopen ist die integrierte Funktion zum Öffnen der Datei und fread ist die Funktion zum Lesen des Dateiinhalts. Hier wird der Destruktor aufgerufen, um das Dateihandle zu schließen/zu zerstören.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
Ausgabe:
Wie im Code erwähnt, erhalten wir die folgende Ausgabe, wenn wir die Funktion gc_collect_cycles() in der Mitte des Skripts auskommentieren:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
Ausgabe:
Die folgende Warnung wird ausgegeben, wenn test_doc.txt nicht erstellt wurde.
Wie wir gesehen haben, werden Destruktoren, die das genaue Gegenteil von Konstruktoren sind, verwendet, um ein Objekt zu zerstören, nachdem seine Verwendung abgeschlossen ist und nicht weiter im Code benötigt wird. Dadurch wird sichergestellt, dass unerwünschte Ressourcen bereinigt werden und Platz für zukünftige Ressourcen geschaffen wird. Dies geschieht durch die Deklaration der Funktion __destruct(), die von PHP am Ende des Skripts automatisch aufgerufen wird.
Das obige ist der detaillierte Inhalt vonDestruktor in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!