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");