/** * Obtém a instancia do EntityManager * @return \Doctrine\ORM\EntityManager * @throws \Exception Caso nao consiga obter uma instancia do EntityManager */ public function getEntityManager() { try { return \Negocio\System\Factory::getInstanciaEM(); } catch (\ErrorException $e) { throw new \Exception("Falha ao estabelecer conexao com banco!\n" . $e->getMessage(), 500); } }
}); /* | ------------------------------------------------------------------- | Add Provedores | ------------------------------------------------------------------- */ $app->register(new Silex\Provider\UrlGeneratorServiceProvider()); $app->register(new Silex\Provider\SessionServiceProvider()); $app->register(new TwigServiceProvider(), array('twig.path' => $app["views_path"])); $app->register(new HttpCacheServiceProvider(), array("http_cache.cache_dir" => $app["cache"])); $config = Setup::createAnnotationMetadataConfiguration(array(ROOT_PATH . "/src/"), true); $eM = EntityManager::create($app["db"]["db.options"], $config); $platform = $eM->getConnection()->getDatabasePlatform(); $platform->registerDoctrineTypeMapping('enum', 'string'); $platform->registerDoctrineTypeMapping('set', 'string'); Factory::setEntityManager($eM); /* | ------------------------------------------------------------------- | Log da App | ------------------------------------------------------------------- */ $app->register(new MonologServiceProvider(), array("monolog.logfile" => $app["logfile"], "monolog.level" => $app["log.level"], "monolog.name" => "application")); /* | ------------------------------------------------------------------- | Manipulador de Erros | ------------------------------------------------------------------- */ $app->error(function (\Exception $e, $code) use($app) { switch ($code) { case 404: $app['monolog']->addError("404 NOT FOUND !");