小编Aes*_*ere的帖子

使用$ this或parent ::来调用继承的方法?

不是真正的问题,更像是我的好奇心,但作为一个例子,说我有一个PHP类:

class baseTestMain
{
    protected function testFunction()
    {
        echo 'baseTestMain says hi';
    }
}
Run Code Online (Sandbox Code Playgroud)

以及从上面那个类扩展的另一个类:

class aSubClass extends baseTestMain
{
    public function doingSomething()
    {
        parent::testFunction();
        //someextrastuffhere
    }
}
Run Code Online (Sandbox Code Playgroud)

通常,当我想在子类中定义一个新方法时调用父方法时,我会做上面的事情 - parent::methodnamehere()但是parent::你也可以使用$this->methodname()和操作相同.

class aSubClass extends baseTestMain
{
    public function doingSomething()
    {
        $this->testFunction();
        //someextrastuffhere
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我要问的是,我应该使用parent::testFunction();还是使用$this->testFunction();?或者我错过了它有什么不同吗?如果没有,您的偏好或首选方法是什么?

请注意,我没有覆盖或扩展子类中的该函数,实质上是从父级继承实现.

php

16
推荐指数
2
解决办法
8296
查看次数

标签 统计

php ×1