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