first(); if (!$setting) { return $default; } return match ($setting->type) { 'boolean' => filter_var($setting->value, FILTER_VALIDATE_BOOLEAN), 'integer' => (int) $setting->value, 'array', 'json' => json_decode($setting->value, true), default => $setting->value, }; } public static function set(string $key, $value, string $type = 'string'): void { if (in_array($type, ['array', 'json'])) { $value = json_encode($value); } static::updateOrCreate( ['key' => $key], ['value' => $value, 'type' => $type] ); } }