3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class P { abstract protected function foo(); } class C1 extends P { protected function foo() { return 1; } } class C2 extends P { protected function foo() { return 2; } static function doFoo($c) { return $c->foo(); } } var_dump(C2::doFoo(new C2)); var_dump(C2::doFoo(new C1));

preferences:
31.67 ms | 404 KiB | 5 Q