ConfigDao
in package
ConfigDao — Configuración global del sistema persistida en fichero JSON.
El fichero JSON es AUTODESCRIPTIVO: cada variable contiene tanto su definición (tipo, label, descripción, default, rango/opciones) como su valor actual. No hay catálogo en código — añadir una variable es editar solo el JSON.
Fichero: backend/variable/config/config.json
Estructura de cada entrada:
"clave": {
"tipo": "enum|bool|int|text",
"label": "...",
"descripcion": "...",
"default":
Table of Contents
Constants
- RUTA = __DIR__ . '/../variable/config.json'
Methods
- get() : mixed
- Devuelve el valor actual de una clave (su 'valor', o 'default' si falta).
- getAll() : array<int, array<string, mixed>>
- Devuelve todas las variables con su definición y valor actual.
- set() : array{ok: bool, error?: string}
- Guarda el valor de una clave, validándolo contra su definición en el JSON.
- castear() : mixed
- Castea un valor crudo al tipo declarado en su definición.
- escribirJson() : bool
- Escribe el JSON completo (creando el directorio si no existe).
- leerJson() : array<string, array<string, mixed>>
- Lee el JSON completo. Devuelve [] si no existe o está corrupto.
Constants
RUTA
private
mixed
RUTA
= __DIR__ . '/../variable/config.json'
Methods
get()
Devuelve el valor actual de una clave (su 'valor', o 'default' si falta).
public
static get(string $clave) : mixed
null si la clave no existe en el fichero.
Parameters
- $clave : string
getAll()
Devuelve todas las variables con su definición y valor actual.
public
static getAll() : array<int, array<string, mixed>>
Para el panel de configuración.
Return values
array<int, array<string, mixed>>set()
Guarda el valor de una clave, validándolo contra su definición en el JSON.
public
static set(string $clave, mixed $valor) : array{ok: bool, error?: string}
Solo se actualiza el campo 'valor'; la definición se mantiene intacta.
Parameters
- $clave : string
- $valor : mixed
Return values
array{ok: bool, error?: string}castear()
Castea un valor crudo al tipo declarado en su definición.
private
static castear(array<string, mixed> $def, mixed $valor) : mixed
Parameters
- $def : array<string, mixed>
- $valor : mixed
escribirJson()
Escribe el JSON completo (creando el directorio si no existe).
private
static escribirJson(array<string, mixed> $config) : bool
Escritura atómica: temporal + rename.
Parameters
- $config : array<string, mixed>
Return values
boolleerJson()
Lee el JSON completo. Devuelve [] si no existe o está corrupto.
private
static leerJson() : array<string, array<string, mixed>>