- 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
28 lines
866 B
PHP
28 lines
866 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Framework\Performance\EnhancedPerformanceCollector;
|
|
use App\Framework\DateTime\SystemClock;
|
|
use App\Framework\DateTime\SystemHighResolutionClock;
|
|
use App\Framework\Core\AppBootstrapper;
|
|
use App\Framework\Performance\MemoryMonitor;
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
require __DIR__ . '/../src/Framework/Debug/helpers.php';
|
|
|
|
// Anwendung initialisieren und ausführen
|
|
$basePath = dirname(__DIR__);
|
|
// Create dependencies for enhanced performance collector
|
|
$clock = new SystemClock();
|
|
$highResClock = new SystemHighResolutionClock();
|
|
$memoryMonitor = new MemoryMonitor();
|
|
$collector = new EnhancedPerformanceCollector($clock, $highResClock, $memoryMonitor, enabled: true);
|
|
$bootstrapper = new AppBootstrapper($basePath, $collector);
|
|
$app = $bootstrapper->bootstrapWeb();
|
|
|
|
// Anwendung ausführen
|
|
$app->run();
|
|
|
|
exit;
|