app->environment('testing')) { $this->loadApplicationData(); } Cashier::calculateTaxes(); } /** * Load application data and cache it. */ private function loadApplicationData(): void { try { $settings = cache()->remember('app_settings', now()->addHours(6), fn(): array => (array) DB::table('settings')->find(1)); $menus = cache()->remember('app_menus', now()->addHours(6), Menu::all(...)); $blogs = cache()->remember('app_blogs', now()->addHours(6), fn() => Blog::query()->where('is_published', 1)->get()); $plans = cache()->remember('app_plans', now()->addHours(6), Plan::all(...)); config(['app.settings' => (array) $settings]); config(['app.menus' => $menus]); config(['app.blogs' => $blogs]); config(['app.plans' => $plans]); } catch (Exception) { // Fail silently if database is not available // This allows the application to boot during migrations and testing } } }