/** * Return. * * @param KConfigInterface $config An optional KConfig object with configuration options * @param KServiceInterface $container A KServiceInterface object * * @return KServiceInstantiatable */ public static function getInstance(KConfigInterface $config, KServiceInterface $container) { if (!$container->has($config->service_identifier)) { $identifier = self::_identifier($config->service_identifier); $instance = AnDomain::getRepository($identifier, $config->toArray()); $container->set($config->service_identifier, $instance); } return $container->get($config->service_identifier); }
public static function getInstance(KConfigInterface $config, KServiceInterface $container) { $identifier = clone $config->service_identifier; $activity = $config->activity; if ($identifier->name != $activity->package) { $identifier->name = $activity->package; if (file_exists($identifier->filepath)) { // Use package activity message instead. return KService::get($identifier, $config->toArray()); } } $classname = $config->service_identifier->classname; return new $classname($config); }