call_user_func (массив ($ this, $ method), $ par) из конструктора родителя?

class Parent { public function __construct($method) { call_user_func(array($this, $method), 1); } } class Child extends Parent { public function __construct($method) { parent::__construct($method); } protected function call_me_on_construct($par) { echo $par; } } 

Создание экземпляра $child = new Child("call_me_on_construct"); Мне нужно call_me_on_construct метод call_me_on_construct . Проблема заключается в том, что конструктор Parent ничего не знает об $this . Что это лучший способ сделать это?

Спасибо.

Он знает об $this . Единственная ошибка вашего кода заключается в том, что вы используете зарезервированное ключевое слово parent

 class Ancestor { public function __construct($method) { call_user_func(array($this, $method), 1); } } class Child extends Ancestor { public function __construct($method) { parent::__construct($method); } protected function call_me_on_construct($par) { echo $par; } } $c = new child("call_me_on_construct");