PHP从父静态方法初始化子类的新实例?

时间:2011-07-06 14:04:58

标签: php

如何从父静态方法初始化子类?

我可以使用PHP 5.3中的后期静态绑定和父类的方法中的static关键字来获取子类的静态变量。如何在父静态方法中初始化子类的新实例?

感谢。

1 个答案:

答案 0 :(得分:6)

您不需要涉及静态变量或任何混乱的东西。这是我能提出的最简短的例子:

class a {
    public static function foo() { return new static; }
}

class b extends a { }

如果你致电b::foo(),你会得到一个新的b。