Methode __destruct
De functie __destruct is een magische methode in PHP die automatisch wordt aangeroepen wanneer een object uit het geheugen wordt verwijderd. Dit gebeurt ofwel wanneer het script eindigt, ofwel wanneer het object expliciet wordt vernietigd. De methode is nuttig voor het vrijgeven van bronnen (bijvoorbeeld het sluiten van bestandshandles of databaseverbindingen).
Syntaxis
class MyClass {
public function __destruct() {
// code van de destructor
}
}
Voorbeeld
Een eenvoudig voorbeeld van een klasse met een destructor die een bericht uitvoert wanneer het object wordt vernietigd:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Roept de destructor aan
?>
Resultaat van de code-uitvoering:
'Object destroyed'
Voorbeeld
Voorbeeld met het vrijgeven van bronnen (sluiten van een bestand):
<?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');
// Werk met het bestand...
unset($handler); // Sluit het bestand automatisch
?>
Resultaat van de code-uitvoering:
'File closed'
Zie ook
-
methode
__construct,
die de constructor van de klasse is