serviceClasses[$serviceClass::ID] = $serviceClass; } } public static function getInstance($forcereload = false) { if (null === self::$instance || $forcereload) { self::$instance = new self(); } return self::$instance; } public function getSyntaxKeys() { $keys = []; foreach ($this->serviceClasses as $className) { $syntax = $className::SYNTAX; $keys[$syntax] = $className; } return $keys; } /** * @return ServiceInterface[] */ public function getWebHookUserAgents() { $userAgents = []; foreach ($this->serviceClasses as $className) { $ua = $className::WEBHOOK_UA; $userAgents[$ua] = $className; } return $userAgents; } /** * @return ServiceInterface[]] */ public function getServices() { return $this->serviceClasses; } }