PHP - Получение дочернего класса при выполнении родительской функции? - PullRequest
0 голосов
/ 16 октября 2010

Не думаю, что я здесь глупый.

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

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

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

Проблема в том, что __CLASS__ возвращает 'Parent'. Как мне вернуть ребенка?

1 Ответ

2 голосов
/ 16 октября 2010

Прямым ответом на ваш вопрос будет использование get_class():

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

но в вашем случае, почему бы просто не использовать $this в качестве параметра для method_exists ()?

if (method_exists($this, $function)) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...