set('csrf', function() use ($app) { return new Slim\Csrf\Guard($app->getResponseFactory()); }); $container->set('view', function() use ($container) { $twig = Twig::create(__DIR__ . "/../views"); $twig->addExtension(new CsrfExtension($container->get('csrf'))); return $twig; }); $container->set(Twig::class, function() use ($container) { return $container->get('view'); }); $container->set(LoggerInterface::class, $container->get(FileLogger::class)); $container->set(EntityManager::class, static function() { Type::addType('uuid', UuidType::class); Type::addType(XMLElement::NAME, XMLElement::class); $config = ORMSetup::createAttributeMetadataConfiguration( paths: array(__DIR__."/Models/Data"), isDevMode: true, ); $dsnParser = new DsnParser(); $params = $dsnParser->parse($_ENV["DB_CONNECTION"]); $connection = DriverManager::getConnection($params, $config); $connection->executeQuery("PRAGMA foreign_keys = ON"); return new EntityManager($connection, $config); });