Méthode __destruct
La fonction __destruct est une méthode magique en PHP qui est appelée automatiquement lors de la suppression d'un objet de la mémoire. Cela se produit soit lorsque le script se termine, soit lorsque l'objet est explicitement détruit. La méthode est utile pour libérer des ressources (par exemple, fermer des descripteurs de fichiers ou des connexions à la base de données).
Syntaxe
class MyClass {
public function __destruct() {
// code du destructeur
}
}
Exemple
Un exemple simple d'une classe avec un destructeur qui affiche un message lors de la destruction de l'objet :
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Appellera le destructeur
?>
Résultat de l'exécution du code :
'Object destroyed'
Exemple
Exemple avec libération de ressources (fermeture d'un fichier) :
<?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');
// Travail avec le fichier...
unset($handler); // Fermera le fichier automatiquement
?>
Résultat de l'exécution du code :
'File closed'
Voir aussi
-
la méthode
__construct,
qui est le constructeur de la classe