/** * createService * * Create the entity repository manager * * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceManager * @return \ArpEntityRepository\Service\EntityRepositoryManager */ public function createService(ServiceLocatorInterface $serviceManager) { $entityRepositoryManager = new EntityRepositoryManager(); $entityRepositoryManager->setServiceLocator($serviceManager); // $this->setConfig($serviceManager, $entityRepositoryManager); return $entityRepositoryManager; }
/** * createService * * Create the entity repository. * * @param EntityRepositoryManager $entityRepositoryManager The entity repository manager * @param string $name * @param string $serviceName * * @return EntityRepositoryInterface */ public function __invoke(EntityRepositoryManager $entityRepositoryManager, $name, $serviceName) { /** @var ServiceManager $serviceManager */ $serviceManager = $entityRepositoryManager->getServiceLocator(); $options = $this->getOptions($serviceManager, $serviceName); $entityName = !empty($options['entity_name']) ? $options['entity_name'] : $serviceName; $className = !empty($options['class_name']) ? $options['class_name'] : $this->className; $objectManager = !empty($options['object_manager']) ? $options['object_manager'] : $this->objectManager; $objectManager = $this->getObjectManager($serviceManager, $objectManager, $serviceName); return new $className($objectManager, $objectManager->getClassMetadata($entityName), isset($options['options']) ? $options['options'] : []); }