/** * Creates an instance of the Drest Manager using the passed configuration object * Can also pass in a Event Manager instance * * @param EntityManager $em * @param Configuration $config * @param Event\Manager $eventManager */ private function __construct(EntityManager $em, Configuration $config, Event\Manager $eventManager) { $this->em = $em; $this->config = $config; $this->eventManager = $eventManager; $this->service = new Service($this->em, $this); // Router is internal and currently cannot be injected / extended $this->router = new Router(); $this->metadataFactory = new MetadataFactory(Mapping\Driver\AnnotationDriver::create(new AnnotationReader(), $config->getPathsToConfigFiles())); if ($cache = $config->getMetadataCacheImpl()) { $this->metadataFactory->setCache($cache); } }
public function testClassMetadataElementName() { $metadataFactory = new MetadataFactory(\Drest\Mapping\Driver\AnnotationDriver::create(array(__DIR__ . '/../Entities/Typical'))); $className = 'DrestTests\\Entities\\Typical\\User'; $cmd = $metadataFactory->getMetadataForClass($className); $this->assertEquals('user', $cmd->getElementName()); }
public function testRemovingExtension() { $annotationDriver = \Drest\Mapping\Driver\AnnotationDriver::create(array(__DIR__ . '/../Entities/Typical')); $annotationDriver->removeExtensions(); $metadataFactory = new MetadataFactory($annotationDriver); $this->assertCount(0, $metadataFactory->getAllClassNames()); $annotationDriver->addExtension('php'); $this->assertGreaterThan(0, $metadataFactory->getAllClassNames()); }