Metodo __destruct
La funzione __destruct è un metodo magico in PHP che viene chiamato automaticamente quando un oggetto viene rimosso dalla memoria. Ciò avviene quando lo script termina l'esecuzione o quando l'oggetto viene esplicitamente distrutto. Il metodo è utile per liberare risorse (ad esempio, chiudere descrittori di file o connessioni al database).
Sintassi
class MyClass {
public function __destruct() {
// codice del distruttore
}
}
Esempio
Un semplice esempio di classe con un distruttore che visualizza un messaggio quando l'oggetto viene distrutto:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Chiamerà il distruttore
?>
Risultato dell'esecuzione del codice:
'Object destroyed'
Esempio
Esempio con liberazione di risorse (chiusura di un file):
<?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');
// Lavora con il file...
unset($handler); // Chiuderà il file automaticamente
?>
Risultato dell'esecuzione del codice:
'File closed'
Vedi anche
-
metodo
__construct,
che è il costruttore della classe