. */ namespace SP\Domain\Config; use Defuse\Crypto\Exception\EnvironmentIsBrokenException; use SP\Domain\Config\In\ConfigDataInterface; use SP\Infrastructure\File\FileException; /** * Esta clase es responsable de leer y escribir la configuración del archivo config.php */ interface ConfigInterface { /** * Cargar el archivo de configuración * * @throws FileException */ public function loadConfigFromFile(): ConfigDataInterface; /** * Guardar la configuración * * @param \SP\Domain\Config\In\ConfigDataInterface $configData * @param bool|null $backup * * @return ConfigInterface * @throws \SP\Infrastructure\File\FileException */ public function saveConfig(In\ConfigDataInterface $configData, ?bool $backup = true): ConfigInterface; /** * Commits a config data */ public function updateConfig(ConfigDataInterface $configData): ConfigInterface; /** * Cargar la configuración desde el contexto */ public function loadConfig(?bool $reload = false): ConfigDataInterface; /** * Returns a clone of the configuration data * * @return \SP\Domain\Config\In\ConfigDataInterface */ public function getConfigData(): ConfigDataInterface; /** * @throws FileException * @throws EnvironmentIsBrokenException */ public function generateUpgradeKey(): ConfigInterface; }