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 = self::who(); return new $class($params); } } class bar extends foo {} print_r(new foo); print_r(new bar);

preferences:
52.17 ms | 402 KiB | 5 Q