3v4l.org

run code in 300+ PHP versions simultaneously
<?php class BaseFoo { } class Foo extends BaseFoo { protected function greet($subject) { echo "Hello $subject!"; } public function callStatic($className, $methodName) { $parameters = func_get_args(); $parameters = array_slice($parameters, 2); // Remove $className and $methodName return call_user_func_array($className . '::' . $methodName, $parameters); } } class Bar extends Foo { public function publicGreet($subject) { $this->callStatic(parent, 'greet', $subject); } } $b = new Bar(); $b->publicGreet('World');

preferences:
47.09 ms | 402 KiB | 5 Q