3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Dad { static function getStatic() { return new static; } static function getSelf() { return new self; } } trait Useless { static function getStatic() { return new static; } } final class A extends Dad { use Useless; static function getSelf() { return new self; } } var_dump(A::getStatic()::class); var_dump(A::getSelf()::class);

preferences:
46.01 ms | 402 KiB | 5 Q