protected function execute(InputInterface $input, OutputInterface $output) { $configHelper = $this->getHelper('configuration'); /* @var $configHelper GlobalConfigurationHelper */ $configHelper->getConfiguration()->removeConfigOption(Util::createPropertyPath($input->getArgument('parameter'))); $configHelper->getConfiguration()->write(); }
protected function execute(InputInterface $input, OutputInterface $output) { $configHelper = $this->getHelper('configuration'); /* @var $configHelper GlobalConfigurationHelper */ $config = $configHelper->getConfiguration(); $config = $config->getConfigOption(Util::createPropertyPath($input->getArgument('parameter'))); foreach ($input->getOption('filter') as $fn) { try { if (!is_callable($fn)) { throw new \InvalidArgumentException(sprintf('"%s" is not callable', $fn)); } if (!function_exists($fn)) { throw new \InvalidArgumentException(sprintf('"%s" does not exist', $fn)); } $prevError = error_get_last(); $config = @$fn($config); $currError = error_get_last(); if ($prevError !== $currError) { throw new \InvalidArgumentException(sprintf('"%s" failed: %s', $fn, error_get_last()['message'])); } } catch (\Exception $ex) { throw new \InvalidArgumentException(sprintf('Filtering with function "%s" did not work', $fn), 0, $ex); } } if (is_null($config)) { // noop } elseif (is_scalar($config)) { $output->writeln($config); } else { foreach (self::flatten($config) as $parameter => $value) { $output->writeln(sprintf('%s: %s', $parameter, $value)); } } }