PHP – acceder a variables globales en todas las funciones de clase

Necesito acceder a algunas variables de un archivo php externo en la mayoría de las funciones de una clase. Estoy accediendo de la siguiente manera (y funciona bien)

class test{ function a(){ global $myglobalvar ; .. .. } function b(){ global $myglobalvar ; .. .. } function c(){ global $myglobalvar ; .. .. } } 

¿Hay alguna manera de acceder a $ myglobalvar en todas las funciones de la clase sin declarar en cada función? Leí que se puede hacer declarando solo una vez en el constructor de la clase, pero no sé cómo hacerlo. Gracias por cualquier ayuda.

 class test{ private $myglobalvar; public function __construct($var){ $this->myglobalvar = $var; } function a(){ echo $this->myglobalvar; } function b(){ echo $this->myglobalvar; } function c(){ echo $this->myglobalvar; } } $test = new test("something"); $test->a(); // echos something $test->b(); // echos something $test->c(); // echos something 

Puede crear una referencia a una variable global en el constructor (como lo haría global ):

 class test{ function __construct() { $this->myglobalvar = & $GLOBALS["myglobalvar"]; 

Que luego permite aceess a la vía global $this->myglobalvar en cada método.

Si nos dice más sobre este caso, podríamos decirle una mejor manera de resolver su problema. Globales deben evitarse, siempre que sea posible. ¿Estás hablando realmente de una variable o es más como una opción de configuración que se mantiene igual durante todo el viaje de ida y vuelta del servidor? En ese caso, podría pensar en tratarlo como una opción de configuración y almacenarlo en un objeto de registro (singleton).