public function testCreateDriverChain() { $serviceManager = new ServiceManager(); $serviceManager->setService('Configuration', array('doctrine' => array('driver' => array('testDriver' => array('class' => 'DoctrineModuleTest\\Service\\Mock\\MetadataDriverMock'), 'testChainDriver' => array('class' => 'Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriverChain', 'drivers' => array('Foo\\Bar' => 'testDriver', 'Foo\\Baz' => null)))))); $factory = new DriverFactory('testChainDriver'); $driver = $factory->createService($serviceManager); $this->assertInstanceOf('Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriverChain', $driver); $drivers = $driver->getDrivers(); $this->assertCount(1, $drivers); $this->assertArrayHasKey('Foo\\Bar', $drivers); $this->assertInstanceOf('DoctrineModuleTest\\Service\\Mock\\MetadataDriverMock', $drivers['Foo\\Bar']); }
/** * @param MvcEvent $event */ public function onBootstrap(MvcEvent $event) { $application = $event->getApplication(); $serviceManager = $application->getServiceManager(); /** @var Options\ModuleOptions $options */ $options = $serviceManager->get(Options\ModuleOptions::class); // default User entity mapping is opt-out, as it will be overridden in most cases if ($options->isDefaultUserMappingEnabled()) { /** @var MappingDriverChain $doctrineDriverChain */ $doctrineDriverChain = $serviceManager->get('doctrine.driver.orm_default'); $driverFactory = new DriverFactory('thorr_oauth_optional_orm_xml_driver'); $userMappingDriver = $driverFactory->createService($serviceManager); $doctrineDriverChain->addDriver($userMappingDriver, 'Thorr\\OAuth2\\Entity'); } }