Class内で自分自身をnewしたい時
static関数内で自分自身にアクセスしたい場合、$thisは使えないので自分自身をnewするわけだが、
new クラス名にすればいいのだけれど、クラス名を自動で取ってきて生成できればいいな...と思って以下実践。
class HOGE { public static function Func() { // staticなので当然不可 $this; // ベタ書き。OK $instance = new HOGE; // エラー $instance = new __CLASS__; // 一旦変数に入れるとOK $class = __CLASS__; $instance = new $class; // これでもOK $instance = new sprintf('%s', __CLASS__); } }