addDefinitions([ LoggerInterface::class => function (ContainerInterface $c) { $settings = $c->get(SettingsInterface::class); $loggerSettings = $settings->get('logger'); $logger = new Logger($loggerSettings['name']); $processor = new UidProcessor(); $logger->pushProcessor($processor); $handler = new StreamHandler($loggerSettings['path'], $loggerSettings['level']); $logger->pushHandler($handler); return $logger; }, PDO::class => function () { $dbPath = __DIR__ . '/../data.sqlite3'; $pdo = new PDO('sqlite:' . $dbPath); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $pdo; }, \Twig\Environment::class => function () { $loader = new \Twig\Loader\FilesystemLoader(__DIR__ . '/../templates'); return new \Twig\Environment($loader); }, \App\Application\Services\BlogProvider::class => \DI\autowire(\App\Application\Services\BlogProvider::class), ]); };