Methode __destruct
Die Funktion __destruct ist eine magische Methode in PHP, die automatisch aufgerufen wird, wenn ein Objekt aus dem Speicher gelöscht wird. Dies geschieht entweder, wenn das Skript beendet wird oder wenn das Objekt explizit zerstört wird. Die Methode ist nützlich, um Ressourcen freizugeben (z. B. das Schließen von Datei-Deskriptoren oder Datenbankverbindungen).
Syntax
class MyClass {
public function __destruct() {
// Destruktor-Code
}
}
Beispiel
Ein einfaches Beispiel einer Klasse mit einem Destruktor, der eine Nachricht ausgibt, wenn das Objekt zerstört wird:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Ruft den Destruktor auf
?>
Ergebnis der Codeausführung:
'Object destroyed'
Beispiel
Beispiel mit Freigabe von Ressourcen (Schließen einer Datei):
<?php
class FileHandler {
private $file;
public function __construct($filename) {
$this->file = fopen($filename, 'r');
}
public function __destruct() {
if ($this->file) {
fclose($this->file);
echo 'File closed';
}
}
}
$handler = new FileHandler('example.txt');
// Arbeit mit der Datei...
unset($handler); // Schließt die Datei automatisch
?>
Ergebnis der Codeausführung:
'File closed'
Siehe auch
-
die Methode
__construct,
die der Konstruktor der Klasse ist