3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class A { abstract public function test(A $foo): self; } class B extends A { public function test(A $foo): self { return $this; } } $foo = new B(); var_dump($foo, $foo->test($foo));

preferences:
34.16 ms | 404 KiB | 5 Q