\DI\env('ENV', 'production'), 'database.host' => "$db_server", 'database.username' => "$db_username", 'database.password' => "$db_password", 'database.name' => "$db_name", 'views.path' => dirname(__DIR__) . '/views', 'twig.extensions' => [ \DI\get(RouterTwigExtension::class), \DI\get(PagerFantaExtension::class), \DI\get(TextExtension::class), \DI\get(TimeExtension::class), \DI\get(FlashExtension::class), \DI\get(FormExtension::class), \DI\get(CsrfExtension::class), \DI\get(UrlExtension::class), \DI\get(VariableExtension::class) ], SessionInterface::class => \DI\object(PHPSession::class), CsrfMiddleware::class => \DI\object()->constructor(\DI\get(SessionInterface::class)), Router::class => \DI\factory(RouterFactory::class), RendererInterface::class => \DI\factory(TwigRendererFactory::class), \PDO::class => function (\Psr\Container\ContainerInterface $c) { return new PDO( 'mysql:host='. $c->get('database.host') . ';dbname=' . $c->get('database.name'), $c->get('database.username'), $c->get('database.password'), [ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ] ); }, // MAILER 'mail.to' => 'admin@gmarche-testmail.com', 'mail.from' => "$mail_from", Swift_Mailer::class => \DI\factory(\Framework\SwiftMailerFactory::class) ];