loadAllFromDB(); }); // 写入 Laravel config() 运行时 foreach ($settings as $key => $value) { config([$key => $value]); } return $next($request); } /** * 从数据库加载所有应用设置,按类型转换后返回 key → value 数组 */ protected function loadAllFromDB(): array { $rows = DB::table(SettingsDefinition::getTableName())->get(); $result = []; foreach ($rows as $row) { $result[$row->key] = match ((int) $row->type) { ESettingType::String->value => $row->s, ESettingType::Bool->value => is_null($row->n) ? null : (bool) $row->n, ESettingType::Number->value => is_null($row->n) ? null : (int) $row->n, ESettingType::Array->value => is_null($row->e) ? null : json_decode($row->e, true), ESettingType::Object->value => is_null($row->e) ? null : unserialize(base64_decode($row->e)), ESettingType::EncryptedString->value => is_null($row->e) ? null : Crypt::decrypt(base64_decode($row->e)), default => $row->s ?? null, }; } return $result; } }