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
方法。问题是Parent的构造函数对$this
一无所知。有什么更好的方法呢?
谢谢。
答案 0 :(得分:2)
它知道$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");