Destructores en PHP 4

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().


2 Respuestas a “Destructores en PHP 4”

  1. 1 gartox

    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

  2. 2 gartox

    alert("vulnerable");

Añade un Comentario





RSS feeds

Suscríbete a nuestros RSS Feeds