La versión 5 de PHP soporta una gran variedad de operaciones con objetos, entre las cuales existen eventos, manejo de excepciones y una implementación completa de constructores y destructores.
Pero PHP 4, aunque muy completo a mi parecer, carece de la definicion de "destructores" para objetos. Sin embargo nada es imposible, y se utiliza un truco para crear funciones de destrucción:
-
<?php
-
class ProgramaTV {
-
function ProgramaTV(){
-
// Este es el constructor de la clase
-
echo "mostrar el intro";
-
// Registramos acá el destructor
-
register_shutdown_function(array( &$this, "__destroy" ));
-
}
-
-
// Ahora creamos la función de destrucción:
-
function __destroy() {
-
echo "mostrar los créditos";
-
}
-
}
-
?>
Ese código ejecutará la función __destroy() cada vez que el objeto sea descargado de memoria. Sin embargo, esto no funciona del todo cuando se trabaja con herencias.
Ver mas info sobre register_shutdown_function().
Muy buen ejemplo, me sirvio para utilizarlo en vez del $__destruct que no me acepta el php y eso que es el 5 que s esupone que ya lo trae, no sé si hay que habilitar alguna cosa en el php.ini
alert("vulnerable");