feat(di): add proactive initializer finder for interface resolution

- Add ProactiveInitializerFinder to search for initializers when not found in registry
- Add InitializerInfo value object to store initializer metadata
- Implement multi-step search strategy: DefaultImplementation, naming convention, directory, subdirectories, module
- Integrate proactive finder into DefaultContainer for better interface resolution
- Simplify AppBootstrapper by moving initialization logic to DefaultContainer
- Improve error messages in ClassNotInstantiable with proactive finder context
This commit is contained in:
2025-11-03 17:45:47 +01:00
parent 8c264f3781
commit 9cad445aaf
7 changed files with 476 additions and 113 deletions

View File

@@ -48,7 +48,7 @@ final readonly class InitializerProcessor
$logger->debug("InitializerProcessor: Processing " . count($initializerResults) . " initializers");
$dependencyGraph = new InitializerDependencyGraph($this->reflectionProvider);
/** @var FailedInitializer[] */
/** @var FailedInitializer[] $failedInitializers */
$failedInitializers = [];
// Phase 1: Setup-Initializer sofort ausführen & Service-Initializer zum Graph hinzufügen