Beispiel #1
0
 /**
  * Initialize ODM Configuration.
  *
  * @param array $config ODM DocumentManager configuration.
  * @return \Doctrine\ODM\MongoDB\Configuration
  */
 private function startODMConfiguration(array $config = array())
 {
     $configClass = $config['configurationClass'];
     $configuration = new $configClass();
     $configuration = new \Doctrine\ODM\MongoDB\Configuration();
     // Entity Namespaces configuration
     foreach ($config['documentNamespaces'] as $alias => $namespace) {
         $configuration->addDocumentNamespace($alias, $namespace);
     }
     // Proxy configuration
     $configuration->setAutoGenerateProxyClasses($config['proxy']['autoGenerateClasses'] === true || !in_array($config['proxy']['autoGenerateClasses'], array("0", "false", false)));
     $configuration->setProxyNamespace($config['proxy']['namespace']);
     $configuration->setProxyDir($config['proxy']['dir']);
     $configuration->setHydratorDir($config['hydrator']['dir']);
     $configuration->setHydratorNamespace($config['hydrator']['namespace']);
     // Cache configuration
     $configuration->setMetadataCacheImpl($this->getCacheInstance($config['metadataCache']));
     // Metadata configuration
     $configuration->setMetadataDriverImpl($this->startODMMetadata($config['metadataDrivers']));
     if (isset($config['defaultDb'])) {
         $configuration->setDefaultDB($config['defaultDb']);
     }
     if (isset($config['environment'])) {
         $configuration->setDefaultDB($config['environment']);
     }
     return $configuration;
 }