load(); // 2. Set Timezone date_default_timezone_set($_ENV['APP_TIMEZONE'] ?? 'Asia/Amman'); // 3. Initialize Core Components $this->container = new Container(); $this->router = new Router($this->container); // Register core services in container $this->container->set(Container::class, $this->container); $this->container->set(Router::class, $this->router); } public function getRouter(): Router { return $this->router; } public function run(): void { try { $request = new Request(); $this->router->dispatch($request, $this->container); } catch (\Throwable $e) { // Global Exception Handler Response::error( 'حدث خطأ غير متوقع في النظام', 'INTERNAL_SERVER_ERROR', 500, [ 'message' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine() ] ); } } }