call_user_func(array($this, $method), $par) 来自父的构造函数? [英] call_user_func(array($this, $method), $par) from parent's constructor?
本文介绍了call_user_func(array($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
方法.问题是 Parent 的构造函数对 $this
一无所知.什么是更好的方法?
Creating instance of $child = new Child("call_me_on_construct");
I want call_me_on_construct
method to be called. The problem is Parent's constructor know nothing about $this
. What is better way to do it?
谢谢.
推荐答案
它知道 $this
.代码中唯一的错误是您使用了保留关键字 parent
It knows about $this
. The only error in your code is that you use reserved keyword 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");
这篇关于call_user_func(array($this, $method), $par) 来自父的构造函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文