Volkszaehler\Router::createEntityManager PHP Method

createEntityManager() public static method

Factory method for Doctrine EntityManager
public static createEntityManager ( $admin = FALSE )
    public static function createEntityManager($admin = FALSE)
    {
        $config = new ORM\Configuration();
        if (Util\Configuration::read('devmode') == FALSE) {
            $cache = null;
            if (extension_loaded('apcu')) {
                $cache = new Cache\ApcuCache();
            }
            if ($cache) {
                $config->setMetadataCacheImpl($cache);
                $config->setQueryCacheImpl($cache);
            }
        } else {
            if (extension_loaded('apcu')) {
                // clear cache
                apcu_clear_cache();
            }
        }
        $driverImpl = $config->newDefaultAnnotationDriver(VZ_DIR . '/lib/Model');
        $config->setMetadataDriverImpl($driverImpl);
        $config->setProxyDir(VZ_DIR . '/lib/Model/Proxy');
        $config->setProxyNamespace('Volkszaehler\\Model\\Proxy');
        $config->setAutoGenerateProxyClasses(Util\Configuration::read('devmode'));
        $dbConfig = Util\Configuration::read('db');
        if ($admin && isset($dbConfig['admin'])) {
            $dbConfig = array_merge($dbConfig, $dbConfig['admin']);
        }
        return ORM\EntityManager::create($dbConfig, $config);
    }

Usage Example

Example #1
0
 protected function openController($force = false)
 {
     if ($force || $this->em == null || $this->controller == null || !$this->em->isOpen()) {
         $this->em = Router::createEntityManager(false);
         $this->controller = new EntityController(new Request(), $this->em);
     }
 }
All Usage Examples Of Volkszaehler\Router::createEntityManager