Metoden __destruct
Funksjonen __destruct er en magisk metode i PHP som automatisk kalles når et objekt slettes fra minnet. Dette skjer enten når skriptet avsluttes, eller når objektet eksplisitt ødelegges. Metoden er nyttig for å frigjøre ressurser (for eksempel lukking av fildeskriptorer eller databaseforbindelser).
Syntaks
class MyClass {
public function __destruct() {
// kode for destruktør
}
}
Eksempel
Et enkelt eksempel på en klasse med en destruktør som viser en melding når objektet ødelegges:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Vil kalle destruktøren
?>
Resultat av kjøring:
'Object destroyed'
Eksempel
Eksempel med frigjøring av ressurser (lukking av 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');
// Arbeid med filen...
unset($handler); // Lukker filen automatisk
?>
Resultat av kjøring:
'File closed'
Se også
-
metoden
__construct,
som er konstruktøren til klassen