Uwe: Sichtbarkeit von Variablen

Beitrag lesen

Hallo!

Ich habe 3 Klassen, 2 davon erweitern die erste Klasse. Ich möchte von einer der beiden Klassen auf eine Variable der anderen zugreifen wobei der Inhalt dieser in der parent-Klasse definiert wird.

Hier mal ein Beispiel-Code

  
// die parent-Klasse  
class foo  
{  
    public function bar()  
    {  
        return 'hund';  
    }  
}  
// die Klasse soll auf eine Variable seines Geschwisters zugreifen  
class bla extends foo  
{  
    public function test()  
    {  
        global $a;  
        var_dump($a);    // NULL  
    }  
}  
//  
class start extends foo  
{  
    public function run()  
    {  
        $a = $this->bar();    // $a soll in bla->test() verfügbar sein  
        $o = new bla();  
        $o->test();  
    }  
}  
  
$start = new start();  
$start->run()

Wie bekomme ich also den Inhalt von $a nach foo->test()?
Der Grund ist, dass ich $a in der start-Klasse durch andere Klassen bei bedarf bearbeiten können will.
In etwa wie durch den Aufruf einer Funktion mit einem & vor dem Parameter. Nur, dass ich es ohne übergebenen Parameter an die Funktion möchte.

Mir ist auch nicht ganz klar wieso $a in meinem Beispiel NULL ergibt.
Wenn ich eine Variable ausserhalb aller Klassen definiere und in einer Klasse dann global $Variable; schreibe, dann habe ich auch Zugriff darauf. Wo liegt hier mein Fehler?

Uwe