/** * @param ConfigInterface|null $config * @throws ConfigurationException * @return \Yamveecee\Service\LocatorInterface */ public static function getInstance(ConfigInterface $config = null) { if (self::$instance === null) { if ($config === null) { $className = '\\Yamveecee\\Service\\Locator'; } else { $className = $config->getProperty('className'); } if (!class_exists($className)) { $exc = new \Yamveecee\Service\ConfigurationException('serviceLocator class ' . $className . ' does not exists'); throw $exc; } self::$instance = new $className(); self::$instance->setServiceConfig($config); } return self::$instance; }
/** * @return string */ private function getConfiguredFactoryName($propertyName, $defaultClassName) { $className = $defaultClassName; $configuredClassName = $this->serviceConfig->getProperty($propertyName); if (null !== $configuredClassName) { $className = $configuredClassName; } return $className; }
/** * @return string */ private function getConfigFactoryClassName() { $className = '\\Yamveecee\\Config\\Factory\\Std'; $configClassName = $this->serviceConfig->getProperty('configFactory\\className'); if (null !== $configClassName) { $className = $configClassName; } return $className; }