PHP:子类中的访问方法


PHP: Access Method in sub-class

我想知道当我在同一类的另一个子类中时,如何访问该类的子类中的方法。。。例如:

class foo {
}
class bar extends foo {
    public function something() {
        //do something here
    }
}
class soap extends foo {
    $this->something();   //This is the method I wanna call...
}

正如你所看到的,我想从另一个子类访问子类的方法。我如何在PHP中做到这一点?

您可以直接执行,但只有如果soap也是bar:的子类

class soap extends bar {
    public function someFunction() 
    {
        $this->something();   // This will work
    }
}

如果是而不是,那么您仍然可以选择:获取bar的实例,然后调用其上的方法:

class soap extends foo {
    public function someFunction(bar $bar) 
    {
        $bar->something();   // This will also work
    }
}

除此之外,您也没什么可做的。由于bar不在soap的继承链中,因此无法在soap的任何方法中仅使用$this来引用something