di = new DiContainer(); $this->app = AppFactory::create(); $this->initializeDefaultUsers(); $this->setupMiddleware(); $this->setupRoutes(); } private function setupMiddleware(): void { $this->app->addBodyParsingMiddleware(); $this->app->addRoutingMiddleware(); $this->app->addErrorMiddleware(true, true, true); } private function setupRoutes(): void { $router = new Router($this->app, $this->di); $router->setupRoutes(); } private function initializeDefaultUsers(): void { $userInitializationService = $this->di->get(UserInitializationService::class); $userInitializationService->createDefaultUsers(); } public function run(): void { $this->app->run(); } }