3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo {} class Goo extends Foo {} interface Factory { static function create(Foo $foo); } class FooFactory implements Factory { static function create(Foo $foo) { return $foo; } } class GooFactory implements Factory { static function create(Goo $goo) { return $goo; } } var_dump(FooFactory::create(new Foo())); var_dump(GooFactory::create(new Goo()));

preferences:
27.57 ms | 402 KiB | 5 Q