php从父类调用子类函数

php从父类调用子类函数,php,function,class,constructor,parent,Php,Function,Class,Constructor,Parent,也有类似的问题,但没有一个能给我一个满意的答案 首先,这里是我的(简化)代码: 调用子函数的新实例时,行“$this->init();”会在Apache错误日志中触发以下错误: [error] [client ip] PHP Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in ... on line... referrer:... 我的理由是,我需要在子类的构造函数中完成一些事情,但是我不能在那里有一

也有类似的问题,但没有一个能给我一个满意的答案

首先,这里是我的(简化)代码:

调用子函数的新实例时,行“$this->init();”会在Apache错误日志中触发以下错误:

[error] [client ip] PHP Parse error: syntax error, unexpected T_STRING, 
expecting T_FUNCTION in ... on line... referrer:...
我的理由是,我需要在子类的构造函数中完成一些事情,但是我不能在那里有一个构造函数,否则父类的构造函数将不会被处理。所以我创建了子函数,它从父函数中提取函数并执行_构造函数。此函数调用具有子级特定逻辑的(子级)init()函数并继续执行

我唯一的猜测是,它调用的函数尚未读入内存,但我认为PHP在执行_构造函数之前会将整个文件读入内存。我已经查看了是否有预加载函数,但除了执行include语句之外,还没有找到其他方法,但我觉得这是错误的

非常感谢您的帮助


编辑:修改一些不相关的细节。

在子类中调用父类构造函数

   class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "In SubClass constructor\n";
   }
}

当我调用init函数时会出现解析错误,我不知道为什么,因此我提出了问题。我将把这个细节添加到我的帖子中。谢谢edit还修改了_构造(或)输入错误。请尝试将父类中的
init()
方法声明为
abstract
Brilliant!这比我想象的要优雅得多。我今天会把这个插上,让你知道结果如何。太好了,很高兴能帮上忙,最好是确保家长对孩子一无所知。
   class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "In SubClass constructor\n";
   }
}