setName('config:app:delete') ->setDescription('Delete an app config value') ->addArgument( 'app', InputArgument::REQUIRED, 'Name of the app' ) ->addArgument( 'name', InputArgument::REQUIRED, 'Name of the config to delete' ) ->addOption( 'error-if-not-exists', null, InputOption::VALUE_NONE, 'Checks whether the config exists before deleting it' ) ; } protected function execute(InputInterface $input, OutputInterface $output): int { $appName = $input->getArgument('app'); $configName = $input->getArgument('name'); if ($input->hasParameterOption('--error-if-not-exists') && !in_array($configName, $this->config->getAppKeys($appName))) { $output->writeln('Config ' . $configName . ' of app ' . $appName . ' could not be deleted because it did not exist'); return 1; } $this->config->deleteAppValue($appName, $configName); $output->writeln('Config value ' . $configName . ' of app ' . $appName . ' deleted'); return 0; } }