Metoden __destruct
Funktionen __destruct er en magisk metode i PHP, som automatisk kaldes, når et objekt slettes fra hukommelsen. Dette sker enten når scriptet afsluttes, eller når objektet eksplicit ødelægges. Metoden er nyttig til at frigøre ressourcer (f.eks. lukning af filhåndteringer eller databaseforbindelser).
Syntaks
class MyClass {
public function __destruct() {
// kode for destruktor
}
}
Eksempel
Et simpelt eksempel på en klasse med en destruktor, som udskriver en besked, når objektet ødelægges:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Vil kalde destruktoren
?>
Resultat af kodeudførelse:
'Object destroyed'
Eksempel
Eksempel med frigørelse af ressourcer (lukning af en fil):
<?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');
// Arbejd med filen...
unset($handler); // Lukker filen automatisk
?>
Resultat af kodeudførelse:
'File closed'
Se også
-
metoden
__construct,
som er klassens konstruktor