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