initialization

This commit is contained in:
Reindl David (IT-PTR-CEN2-SL10) committed 2026-10-07 01:16:57 +02:00
commit 9ff09693ed
92 files changed
+46209

No files matched your search

+52
View File
@@ -0,0 +1,52 @@
<?php
declare(strict_types=1);
use App\Api\PasswordController;
use App\Managers\PasswordGeneratorManager;
use App\Utils\ResponseHelper;
use App\Utils\SecurityConfig;
use DI\ContainerBuilder;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use Monolog\Processor\UidProcessor;
use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
return function (ContainerBuilder $containerBuilder) {
$containerBuilder->addDefinitions([
LoggerInterface::class => function (ContainerInterface $c) {
$settings = [
'name' => $_ENV['APP_NAME'] ?? 'password-generator',
'path' => __DIR__ . '/../' . ($_ENV['LOG_PATH'] ?? 'logs/app.log'),
'level' => SecurityConfig::resolveLogLevel($_ENV['LOG_LEVEL'] ?? 'warning'),
];
$logger = new Logger($settings['name']);
$processor = new UidProcessor();
$logger->pushProcessor($processor);
$handler = new StreamHandler($settings['path'], $settings['level']);
$logger->pushHandler($handler);
return $logger;
},
ResponseHelper::class => function (ContainerInterface $c) {
return new ResponseHelper();
},
PasswordGeneratorManager::class => function (ContainerInterface $c) {
return new PasswordGeneratorManager();
},
PasswordController::class => function (ContainerInterface $c) {
return new PasswordController(
$c->get(PasswordGeneratorManager::class),
$c->get(ResponseHelper::class),
$c->get(LoggerInterface::class)
);
},
]);
};