0

有没有办法让一个对象知道它被实例化的对象?

出于某种原因(解释原因真的太过分了),我想实现如下目标:

class outer{
    public $x ;

    function __CONSTRUCT(){
        $this->x = "hello world";
        $innerObject = $new inner();
    }

    function echo_x(){
        echo $this->x;
    }
}

class inner() {

    function echo_var_from_outer(){
        parent::echo_x();
        // the above won't work 
    }

}

$bar = new outer();
$bar->innerObject->echo_var_from_outer();

当然,我可以将外部类的引用传递给内部类,但如果这不是必需的,它真的会帮助我。我确实知道很多解决这个问题的方法,但这不是我想要的。请告诉我注入的对象是否对实例化它的对象有任何隐含的认识。

4

1 回答 1

0

在您的inner课堂上执行以下操作

class inner extends outer {

    function echo_var_from_outer(){
        parent::echo_x();
        // the above won't work 
    }

}
于 2013-05-01T16:06:15.787 回答