Bisna\Doctrine\Container::prepareODMConfiguration PHP Method

prepareODMConfiguration() private method

Prepare ODM EntityManagers configurations.
private prepareODMConfiguration ( array $config = [] ) : array
$config array Doctrine Container configuration
return array
    private function prepareODMConfiguration(array $config = array())
    {
        $odmConfig = $config['odm'];
        $defaultDocumentManagerName = isset($odmConfig['defaultDocumentManager']) ? $odmConfig['defaultDocumentManager'] : $this->defaultDocumentManager;
        unset($odmConfig['defaultDocumentManager']);
        $defaultDocumentManager = array('documentManagerClass' => 'Doctrine\\ODM\\MongoDB\\DocumentManager', 'configurationClass' => 'Doctrine\\ODM\\MongoDB\\Configuration', 'documentNamespaces' => array(), 'connection' => $this->defaultConnection, 'proxy' => array('autoGenerateClasses' => true, 'namespace' => 'Proxy', 'dir' => APPLICATION_PATH . '/../library/Proxy'), 'hydrator' => array('namespace' => 'Hydrators', 'dir' => APPLICATION_PATH . '/../cache'), 'queryCache' => $this->defaultCacheInstance, 'resultCache' => $this->defaultCacheInstance, 'metadataCache' => $this->defaultCacheInstance, 'metadataDrivers' => array(), 'connectionString' => '');
        $documentManagers = array();
        if (isset($odmConfig['documentManagers'])) {
            $configDocumentManagers = $odmConfig['documentManagers'];
            foreach ($configDocumentManagers as $name => $documentManager) {
                $name = isset($documentManager['id']) ? $documentManager['id'] : $name;
                $documentManagers[$name] = array_replace_recursive($defaultDocumentManager, $documentManager);
            }
        } else {
            $documentManagers = array($this->defaultConnection => array_replace_recursive($defaultDocumentManager, $odmConfig));
        }
        return array('defaultDocumentManager' => $defaultDocumentManagerName, 'documentManagers' => $documentManagers);
    }