<?php class ParentClass { public static function whoAmI(): void { var_dump(static::class); } } class ChildClass extends ParentClass { public function byCallUserFunc(): void { call_user_func([\ParentClass::class, "whoAmI"]); } public function bySyntaxCall(): void { $className = ParentClass::class; $className::whoAmI(); } public function directCall(): void { ParentClass::whoAmI(); } public function callSelf(): void { self::whoAmI(); } } echo "ParentClass::whoAmI()" . PHP_EOL; ParentClass::whoAmI(); echo PHP_EOL . 'call_user_func([\ParentClass::class, "whoAmI"])' . PHP_EOL; call_user_func([\ParentClass::class, "whoAmI"]); $child = new ChildClass(); echo PHP_EOL . 'call_user_func([\ParentClass::class, "whoAmI"]) on ChildClass' . PHP_EOL; $child->byCallUserFunc(); echo PHP_EOL . '$className::whoAmI()' . PHP_EOL; $child->bySyntaxCall(); echo PHP_EOL . "ParentClass::whoAmI() on ChildClass" . PHP_EOL; $child->directCall(); echo PHP_EOL . "self::whoAmI()" . PHP_EOL; $child->callSelf();
You have javascript disabled. You will not be able to edit any code.