/** * Dej mi instanci repository. * @param string repositoryClassName|alias * @return Repository |IRepository * @throws RepositoryNotFoundException */ public function getRepository($name) { $name = strtolower($name); if (isset($this->aliases[$name])) { $class = $this->aliases[$name]; } else { $old = $this->getRepositoryClass($name, true); if (!class_exists($name) and class_exists($old)) { // bc $this->checkRepositoryClass($old, $name, true, $originalClass); } else { $this->checkRepositoryClass($name, $name, true, $originalClass); } $class = $this->aliases[$name] = $originalClass; } if (!isset($this->repositories[$class])) { $this->container->freeze(); $this->repositories[$class] = new $class($this); } return $this->repositories[$class]; }
/** * @internal * @param Orm\IServiceContainer * @return Orm\AnnotationClassParser */ public function createAnnotationClassParser(Orm\IServiceContainer $container) { return new Orm\AnnotationClassParser($container->getService('annotationsParser', 'Orm\\AnnotationsParser')); }
/** * @param IServiceContainer * @return IMapperFactory */ public function createMapperFactory(IServiceContainer $container) { return new MapperFactory($container->getService('annotationClassParser', 'Orm\\AnnotationClassParser')); }