Método __destruct
La función __destruct es un método mágico en PHP que se llama automáticamente cuando se elimina un objeto de la memoria. Esto ocurre cuando el script termina su ejecución o cuando el objeto se destruye explícitamente. El método es útil para liberar recursos (por ejemplo, cerrar descriptores de archivos o conexiones a bases de datos).
Sintaxis
class MyClass {
public function __destruct() {
// código del destructor
}
}
Ejemplo
Ejemplo simple de una clase con destructor que muestra un mensaje cuando se destruye el objeto:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Invocará al destructor
?>
Resultado de la ejecución del código:
'Object destroyed'
Ejemplo
Ejemplo con liberación de recursos (cierre de archivo):
<?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');
// Trabajar con el archivo...
unset($handler); // Cerrará el archivo automáticamente
?>
Resultado de la ejecución del código:
'File closed'
Ver también
-
método
__construct,
que es el constructor de la clase