3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { function bar() : self { return new static(); } } class Baz extends Foo {} var_dump(Foo::bar()); var_dump(Baz::bar());

preferences:
27.11 ms | 404 KiB | 5 Q