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
Output for 8.1.32, 8.2.0 - 8.2.28, 8.3.0 - 8.3.19, 8.4.1 - 8.4.5
object(Bird)#2 (0) { } object(Bird)#1 (0) { } string(4) "bird" string(4) "bird"

preferences:
57.18 ms | 406 KiB | 5 Q