private function prepareORMConfiguration(array $config = array())
{
$ormConfig = $config['orm'];
$defaultEntityManagerName = isset($ormConfig['defaultEntityManager']) ? $ormConfig['defaultEntityManager'] : $this->defaultEntityManager;
unset($ormConfig['defaultEntityManager']);
$defaultEntityManager = array('entityManagerClass' => 'Doctrine\\ORM\\EntityManager', 'configurationClass' => 'Doctrine\\ORM\\Configuration', 'entityNamespaces' => array(), 'connection' => $this->defaultConnection, 'proxy' => array('autoGenerateClasses' => true, 'namespace' => 'Proxy', 'dir' => APPLICATION_PATH . '/../library/Proxy'), 'queryCache' => $this->defaultCacheInstance, 'resultCache' => $this->defaultCacheInstance, 'metadataCache' => $this->defaultCacheInstance, 'secondLevelCache' => array('enabled' => false, 'cache' => $this->defaultCacheInstance, 'cacheFactoryClass' => 'Doctrine\\ORM\\Cache\\DefaultCacheFactory', 'regionsConfigurationClass' => 'Doctrine\\ORM\\Cache\\RegionsConfiguration'), 'metadataDrivers' => array(), 'namingStrategyClass' => 'Doctrine\\ORM\\Mapping\\DefaultNamingStrategy', 'DQLFunctions' => array('numeric' => array(), 'datetime' => array(), 'string' => array()));
$entityManagers = array();
if (isset($ormConfig['entityManagers'])) {
$configEntityManagers = $ormConfig['entityManagers'];
foreach ($configEntityManagers as $name => $entityManager) {
$name = isset($entityManager['id']) ? $entityManager['id'] : $name;
$entityManagers[$name] = array_replace_recursive($defaultEntityManager, $entityManager);
}
} else {
$entityManagers = array($this->defaultConnection => array_replace_recursive($defaultEntityManager, $ormConfig));
}
return array('defaultEntityManager' => $defaultEntityManagerName, 'entityManagers' => $entityManagers);
}