Hola a todos.
Empiezo a pensar que tengo un error de concepto, a ver si me lo podeis aclarar.
Tengo esta situación:
En un fichero de definición de la claseA.php, antes de la definición de la clase, tengo la declaración de una variable. Entiendo pues que por ello se convierte en global.
A continuación, en uno de los métodos de la claseA, modifico el valor de vble.
Más tarde, en el fichero de otra clase, consulto el valor de vble, concretamente desde uno de sus métodos, no desde el constructor.
Pero me imprime el valor de la inicilización y no el modificado, aunque la modificación se lleva a cabo con toda seguridad.
Resumen del código:
En claseA.php:
vble=0;
class claseA {...
function modifyvble{
$GLOBALS["vble"] += 1; //ésto se ejecuta con toda seguridad antes del próximo echo
}
}
En claseB.php:
class claseB {...
function readvble{
echo $GLOBALS["vble"];//imprime 0
}
}
He leido sobre las globals on y off, pero según he entendido todo eso es para las variables externas y no las internas.
Muchas gracias por vuestro tiempo.