/** * @param IDoctrineConfig $config * * @return Configuration */ protected function createConfiguration(IDoctrineConfig $config) { $configuration = null; if ($config->getMetadataFormat() === 'annotations') { $configuration = Setup::createAnnotationMetadataConfiguration($config->getEntitiesPaths(), $config->getDebug(), null, $this->getCache($config)); } else { if ($config->getMetadataFormat() === 'yaml') { $driver = new SimplifiedYamlDriver($config->getEntitiesMappings()); $configuration = Setup::createConfiguration($config->getDebug(), null, $this->getCache($config)); $configuration->setMetadataDriverImpl($driver); } } if ($configuration instanceof Configuration) { $configuration->setAutoGenerateProxyClasses($this->getProxyClassesGenerationStrategy($config)); $configuration->setProxyDir($config->getProxyClassesPath()); return $configuration; } throw new RuntimeException(s('Could not create doctrine configuration for metadata format "%s".', $config->getMetadataFormat())); }