sven_peters: In nested class auf übergeordnete Klasse zugreifen

Beitrag lesen

Hallo!

Erst mal der Quelltext, der ziemlich sinnlos ist:

class A
{
    public $a;

function __construct()
    {
        $this->a = new B();
    }

function myInstance()
    {
        return get_class();
    }
}

class B
{
    function testB()
    {
        echo 'B.testB()';
        echo '<br>';

echo 'include from: ' . $GLOBALS['a']->myInstance();
    }
}

$a = new A();
$a->a->testB();

Klasse B wird in Klasse A eingebunden. Die Methode a.a.testB() soll ausgeben, von welcher Klasse bzw. auch Instanz sie eingebunden wurde. Die Lösung, auf die konkrete Instanz $GLOBALS['a'] zuzugreifen, kann natürlich nicht als optimal angesehen werden.

Gibt es, ähnlich wie in abgeleiteten Klassen mittels parent, innerhalb der Klasse B eine Möglichkeit, an den Zeiger $a zu kommen, um auf Methoden von Klasse A zurückgreifen zu können?