/**
* Haciendo una prueba con dos clases y dos destructores
* La prueba consta de acceder a la variable global del primer objeto en el segundo
* objeto el destructor 2
* Primera clase ==> $GLOBALS['obj']
* SEgunda clase ==> $GLOBALS['obj2']
* Se ejecuta construct y todo el codigo....
* Primer destruct borra el objeto y lo hace null
* Tratamos de acceder a $GLOBALS['obj'] en el segundo destruct pero
* ya no esta es un objeto null
* Warning: Undefined array key "obj" in...
*/
class MyDestructableClass{
public $parametro;
function __construct($parametro) {
echo("<div class=\"div\">"), "Construyendo ",__CLASS__ , ("</div>");
escribir::verifacionnota($this ,'Antes de guardar la variable ');
$this->parametro = $parametro;
escribir::verifacionnota($this ,'Despues de guardar la variable ');
}
function __destruct() {
escribir::linea(5); //Separador
echo("<div class=\"div\">"), "Destruyendo " , __CLASS__ , ("</div>");
escribir::verifacionnota($this ,'Antes de borrar la variable ');
unset($this->parametro);
escribir::verifacionnota($this ,'Despues de borrar la variable ');
// unset($GLOBALS[$this]);
}
}
$obj = new MyDestructableClass('parametroone');
escribir::verifacionnota($obj ,' Verificar la clase MyDestructableClass, no es necesario
borrar la clase porque se ejecuta al final del script ');
escribir::titulosep('Provando ejemplo aqui se puede acceder a la variable global');
escribir::verificacion($GLOBALS['obj']);
class destructora{
function __destruct(){
escribir::titulosep('Sin embargo esta variable muere aqui');
escribir::verificacion($GLOBALS['obj']);
}
}
$obj2 = new destructora();