如何从父静态方法初始化子类?
我可以使用PHP 5.3中的后期静态绑定和父类的方法中的static
关键字来获取子类的静态变量。如何在父静态方法中初始化子类的新实例?
感谢。
答案 0 :(得分:6)
您不需要涉及静态变量或任何混乱的东西。这是我能提出的最简短的例子:
class a {
public static function foo() { return new static; }
}
class b extends a { }
如果你致电b::foo()
,你会得到一个新的b。