3v4l.org

run code in 300+ PHP versions simultaneously
<?php class X {} class Y extends X {} interface InterfaceA { function beMyself(X $a);//: self; } class ClassA implements InterfaceA { function beMyself(Y $a) //: self { return $this; } } var_dump((new ClassA)->beMyself());

preferences:
57.4 ms | 402 KiB | 5 Q