diff --git a/.claude/architecture/bootstrap.md b/.claude/architecture/bootstrap.md index 2c2ac04..362b98d 100644 --- a/.claude/architecture/bootstrap.md +++ b/.claude/architecture/bootstrap.md @@ -41,6 +41,8 @@ ContainerFactory::build(Environment $env, Config $config, string $basePath): Con - Autowiring включён всегда - В prod: `$builder->enableCompilation($basePath . '/var/cache/prod/')` +- Автоматически регистрирует `Config::class` и `Environment::class` в контейнере — любой класс + может получить их через DI без ручного биндинга в `services.php` - Загружает `$basePath/config/routes.php` (если есть) — файл возвращает `RouteDefinition[]`, фреймворк автоматически создаёт `Router` и регистрирует его в контейнере - Загружает `$basePath/config/services.php` (если есть) — файл возвращает diff --git a/src/ContainerFactory.php b/src/ContainerFactory.php index 3b91daf..3d15ffe 100644 --- a/src/ContainerFactory.php +++ b/src/ContainerFactory.php @@ -22,6 +22,11 @@ class ContainerFactory $builder->useAutowiring(true); + $builder->addDefinitions([ + Config::class => $config, + Environment::class => $env, + ]); + $routesFile = $basePath . '/config/routes.php'; if (file_exists($routesFile)) { $routes = require $routesFile;