public function createService(ServiceLocatorInterface $services) { $config = $services->get('Config'); $config = new Config($config['rdn_entity_managers']); $manager = new RdnDoctrine\EntityManagerManager($config); $manager->setServiceLocator($services); return $manager; }
/** * Get an entity manager or repository instance * * @param string $name Entity short name * * @throws \RuntimeException if no entity manager is found * @return EntityRepository|EntityManager */ public function __invoke($name = null) { if (strpos($name, ':') !== false) { list($module) = explode(':', $name); } else { $module = strstr(get_class($this->controller), '\\', true); } if (isset($this->modules[$module])) { $managerName = $this->modules[$module]; } else { $managerName = $module; } /** @var EntityManager $entities */ $entities = $this->managers->get($managerName); if (func_num_args() == 0) { return $entities; } if (strpos($name, ':') === false) { $name = $this->resolver->resolve($entities, $name, array($module, $managerName)); } return $entities->getRepository($name); }