3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Bird { public static $name = 'bird'; public function instance() { return new self(); } public function getName() { return self::$name; } public function name() { return __CLASS__; } } class Eagle extends Bird { public static $name = 'eagle'; public function name() { return __CLASS__; } } var_dump((new Bird)->instance()); //Bird class instance var_dump((new Eagle)->instance()); //Bird class instance var_dump((new Bird)->getName()); //Bird var_dump((new Eagle)->getName()); //Bird

preferences:
31.51 ms | 405 KiB | 5 Q