3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class A { protected const c = null; abstract protected static function fs(); abstract protected function f(); } class B extends A { public function __construct(C $c) { var_dump(C::fs()); var_dump($c->f()); var_dump(C::C); } protected static function fs() {} protected function f() {} } class C extends A { protected const C = 'C::C'; protected static function fs() { return __METHOD__; } protected function f() { return __METHOD__; } } new B(new C);

preferences:
54.53 ms | 402 KiB | 5 Q