0

我正在尝试为我的网站构建一个基本框架,为此我需要扩展主类,但主类的构造函数只有在我执行以下操作时才有效 -parent::__construct() 这是一个示例:

class prime
{
 protected __construct()
 {
   //code
 }
}

class subPrime extends prime
{
  protected __construct()
  {
    //code
  }

}

有人知道解决方案吗?

4

2 回答 2

3

根据php manual parent contructor 不会自动调用:

注意:如果子类定义了构造函数,则不会隐式调用父构造函数。为了运行父构造函数,需要在子构造函数中调用 parent::__construct()。

这是正确的、预期的、期望的和有据可查的行为。

于 2012-07-27T19:28:08.223 回答
1

通常,如果您想从子类调用父类的构造函数,您会按照您的建议 (parent::__construct()) 进行操作。或者干脆不覆盖子类中的构造方法。

如果您不需要更改子类中的构造函数行为,则最好不要覆盖父类的方法。

于 2012-07-27T19:23:44.890 回答