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

Pwn*_*nna 2 php

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

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

谢谢.

Der*_*sed 7

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

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

class b extends a { }
Run Code Online (Sandbox Code Playgroud)

如果你打电话,b::foo()你会得到一个新的b.