3v4l.org

run code in 300+ PHP versions simultaneously
<?php final class EventManager { public static function call($sEvent) { $aClasses = ['B']; foreach ($aClasses as $sClassName) { $oMethodChecking = new ReflectionMethod($sClassName,$sFunctionName); $sFunctionName = 'event_'.$sEvent; if (method_exists($sClassName, $sFunctionName) && $oMethodChecking->isStatic()) { call_user_func($sClassName.'::'.$sFunctionName); } } } } final class B { public static function event_event_name() { echo 'ok'; } } EventManager::call('event_name');

preferences:
50.27 ms | 402 KiB | 5 Q