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;
 }
Example #2
0
 /**
  * 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);
 }