我*需要*来执行`parent :: _ construct()`吗?

时间:2016-04-13 09:09:38

标签: php phpstorm

我有一个班级A,其中包含一些从A延伸的课程(例如AAABAC,{{1} })。这些"子类"都来自AD的__contruct方法。

在例如PhpStorm中A我在AA上发出警告:"缺少父母构造函数调用"。然而,添加__construct显然会导致一个循环,其中类继续初始​​化

我可以安全地忽略(并禁用)此警告,或者我正在做什么是不好的做法?

1 个答案:

答案 0 :(得分:5)

我倾向于说你不应该从父类的构造函数中实例化子类。

我会建议更像:

class A {
    public static function generate() {
        // current "constructor" code here
    }
}

可以包含new A然后将new AA附加到该实例,这样可以避免"循环"。