0

次の例では、fooクラスを定義します。これは、barクラスを構築し、それをプロパティとして格納します$foo->bar。バークラスで、「false」親クラスを参照し、その関数を使用することは可能ですか?

class bar
{
    public function test_false_parent()
    {
            //Is it possible to access foo->display() from here
        {unknown code}::display();
    }
}

class foo
{
    public $bar;

    public function __construct()
    {
        $this->bar = new bar;
    }

    public function display()
    {
        echo "in";
    }
}

$foo = new foo;

$foo->bar->test_false_parent();
//Equivalent to $foo->display();
4

1 に答える 1

5

バックリファレンスなしではありません:

class bar
{
    protected $foo;

    public function __construct(foo $foo)
    {
        $this->foo = $foo;
    }

    public function test_false_parent()
    {
        $this->foo->display();
    }
}

class foo
{
    public $bar;

    public function __construct()
    {
        $this->bar = new bar($this);
    }

    public function display()
    {
        echo "in";
    }
}

$foo = new foo;

$foo->bar->test_false_parent();
于 2013-01-28T09:18:50.143 に答える