PHP5 incorpora el concepto de destructor de clases que también se encuentra en otros lenguajes de programación orientados a objetos. Particularmente para este lenguaje, la importancia de los destructores es limitada, ya que PHP libera todos los recursos al finalizar la ejecución del script, de hecho puede ser útiles para realizar algunas acciones.
El método destructor se denomina __destruct() (son dos guiones bajos) y se convoca cuando desaparecen todas las referencias al objeto o cuando es llamado de manera explícita.
Siguiendo el ejemplo de persona incorporamos y modificamos algunos aspectos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php
class Persona {
// Propiedades
private $nombre;
// Métodos
function __construct($nombre = 'sin nombre'){
$this->nombre = $nombre;
}
function __destruct(){
echo “El Objeto de nombre: ” . $this->nombre .
“ ha sido destruido.”
}
}
// Programa Principal
$danyx = new Persona(“Daniel”);
...
...
?>
Al finalizar la ejecución del script vamos a ver que genera como salida
El Objeto de nombre danyx ha sido destruido.
Ya que en el momento de finalizar el script convoca automáticamente la llamada al método __destruct().

