素数类的构造不能自动运行

时间:2012-07-27 19:21:38

标签: php oop

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

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

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

}

有人知道解决方案吗?

2 个答案:

答案 0 :(得分:3)

根据php manual父调控器不会自动调用:

  

注意:如果子类,则不会隐式调用父构造函数   定义构造函数。为了运行父构造函数,调用   

是子构造函数中的parent :: __ construct()

这是正确的,预期的,期望的和记录良好的行为。

答案 1 :(得分:1)

通常,如果要从子类调用父类的构造函数,则可以按照建议(parent :: __ construct())执行。或者只是不要覆盖子类中的构造函数方法。

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