繁体   English   中英

php从父级调用子类函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM