. */ 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 { /** * Guardar la configuración * * @param ConfigDataInterface $configData * @param bool|null $backup Whether to back up the configuration * @param bool|null $commit Whether to save the configuration into the file * @return ConfigFileService * @throws FileException */ public function save( ConfigDataInterface $configData, ?bool $backup = true, ?bool $commit = true ): ConfigFileService; /** * Reload the configuration */ public function reload(): ConfigDataInterface; /** * Returns a clone of the configuration data * * @return ConfigDataInterface */ public function getConfigData(): ConfigDataInterface; /** * @throws FileException * @throws EnvironmentIsBrokenException */ public function generateUpgradeKey(): ConfigFileService; }