PHP - 执行父函数时获取子类?

时间:2010-10-16 19:28:23

标签: php oop inheritance

我不认为我在这里很傻。

class Parent {
  function load($function) {
    if (method_exists(__CLASS__, $function)) {
      // Load Function
    }
  }
}

Class Child extends Parent {
  function foo() {
  }
}

$this->Child->load('foo');

问题是__CLASS__正在返回'Parent'。如何让它返回Child?

1 个答案:

答案 0 :(得分:2)

您问题的直接答案是使用get_class()

if (method_exists(get_class($this), $function)) {

但是在你的情况下,为什么不简单地使用$this作为method_exists()的参数?

if (method_exists($this, $function)) {