在PHP中访问父方法

时间:2010-11-24 21:01:03

标签: php

我有一个TopLevelClass来调用AnotherClass,它有函数。从内部函数中,您如何访问some_other_methods()的{​​{1}}?

如果它是JavaScript-esque我的问题看起来像:

TopLevelClass

它等同于

$this->parent()->parent()->do_something()

3 个答案:

答案 0 :(得分:3)

如果您使用正确的继承,则只需要parent关键字。

class foo {
    protected function fooMethod() {}
}
class bar extends foo {
    public function barMethod() {
        parent::fooMethod();
        // technically, you could do the same thing with $this->fooMethod()
        // but this way you also know how to do it with methods that might have
        // the same name as one another, such as parent::__construct()
    }
}

答案 1 :(得分:1)

脱颖而出:

parent::some_other_methods();

答案 2 :(得分:1)

你可以使AnotherClass扩展TopLevelClass:

class AnotherClass extends TopLevelClass {
  // class stuff in here
}

这将使AnotherClass能够访问TopLevelClass中的所有方法以及它自己的(受私有范围状态限制)。