/** * @param LoggerInterface */ public static function addHelpers(LoggerInterface $logger) { $self = get_called_class(); $ref = new \ReflectionClass($self); $methods = $ref->getMethods(\ReflectionMethod::IS_STATIC); $classParts = explode('\\', $self); array_pop($classParts); $namespace = implode('\\', $classParts); foreach ($methods as $method) { $name = $method->getName(); if (strpos($name, 'on') === 0) { $eventName = substr($name, 2); $eventClass = $namespace . '\\' . $eventName; $logger->addHelper($eventClass, array($self, $name)); } } }