3v4l.org

run code in 300+ PHP versions simultaneously
<?php class foo { public static function who(){ return __CLASS__; } static public function create($params = array()){ $class = static::who(); return new $class($params); } } class bar extends foo {} print_r(foo::create()); print_r(bar::create());

preferences:
41.46 ms | 402 KiB | 5 Q