[英]php call child class function from parent
有类似的问题,但没有一个给我满意的答案。
首先,这是我的(简化)代码:
class classA; {
function __construct() {
...do something...
$this->init();
}
}
class classB extends classA {
function init {
...do something specific to this class which has to be done in the constructor...
}
}
当我调用子函数的新实例时,行“ $ this-> init();” 在Apache错误日志中触发以下错误:
[error] [client ip] PHP Parse error: syntax error, unexpected T_STRING,
expecting T_FUNCTION in ... on line... referrer:...
我的推理是,子类的构造函数中有我需要做的事情,但是那里没有构造函数,否则父类的构造函数将不被处理。 因此,我创建了一个子级,该子级从父级中提取函数并执行__constructor函数。 该函数调用具有特定于孩子的逻辑并继续执行的(孩子的)init()函数。
我唯一的猜测是它正在调用尚未读入内存的函数-但我认为PHP在执行__constructor函数之前将整个文件读入内存。 我一直在看是否有一个预加载功能,但是除了做一个include语句外没有发现任何东西-但是我觉得这是错误的方法。
任何帮助是极大的赞赏!
编辑:修饰一些不相关的细节。
在您的孩子班级中,致电父母的建设者
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor\n";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.