public function initialize() { require_once "vendor/autoload.php"; $cache = new \Doctrine\Common\Cache\ArrayCache(); $config = new Doctrine\ORM\Configuration(); $config->setMetadataCacheImpl($cache); $driverImpl = $config->newDefaultAnnotationDriver(__DIR__ . '/models'); $config->setMetadataDriverImpl($driverImpl); $config->setQueryCacheImpl($cache); $config->setProxyDir(__DIR__ . '/proxies'); $config->setProxyNamespace('Proxies'); $config->setAutoGenerateProxyClasses(false); // no code generation in production $dbParams = array('driver' => 'pdo_sqlite', 'memory' => true); $this->em = Doctrine\ORM\EntityManager::create($dbParams, $config); if (!self::$classes) { self::$classes = $this->em->getMetadataFactory()->getAllMetadata(); } $schemaTool = new Doctrine\ORM\Tools\SchemaTool($this->em); $schemaTool->createSchema(self::$classes); require_once __DIR__ . '/proxies/AuthorProxy.php'; }