public function handleAdd(Args $args) { $descriptions = $args->getOption('description'); $parameters = array(); // The first description is for the installer $description = $descriptions ? array_shift($descriptions) : null; foreach ($args->getOption('param') as $parameter) { // Subsequent descriptions are for the parameters $paramDescription = $descriptions ? array_shift($descriptions) : null; // Optional parameter with default value if (false !== ($pos = strpos($parameter, '='))) { $parameters[] = new InstallerParameter(substr($parameter, 0, $pos), InstallerParameter::OPTIONAL, StringUtil::parseValue(substr($parameter, $pos + 1)), $paramDescription); continue; } // Required parameter $parameters[] = new InstallerParameter($parameter, InstallerParameter::REQUIRED, null, $paramDescription); } $this->installerManager->addRootInstallerDescriptor(new InstallerDescriptor($args->getArgument('name'), $args->getArgument('class'), $description, $parameters)); return 0; }
private function parseParams(Args $args, array &$bindingParams) { foreach ($args->getOption('param') as $parameter) { // Optional parameter with default value if (false !== ($pos = strpos($parameter, '='))) { $key = substr($parameter, 0, $pos); $bindingParams[$key] = new BindingParameter($key, BindingParameter::OPTIONAL, StringUtil::parseValue(substr($parameter, $pos + 1))); continue; } // Required parameter $bindingParams[$parameter] = new BindingParameter($parameter, BindingParameter::REQUIRED, null); } }
private function parseParams(Args $args, array &$parameters) { foreach ($args->getOption('param') as $parameter) { $pos = strpos($parameter, '='); if (false === $pos) { throw new RuntimeException(sprintf('Invalid parameter "%s". Expected "<name>=<value>".', $parameter)); } $parameters[substr($parameter, 0, $pos)] = StringUtil::parseValue(substr($parameter, $pos + 1)); } }
/** * Handles the "config <key> <value>" command. * * @param Args $args The console arguments. * * @return int The status code. */ public function handleSet(Args $args) { $value = StringUtil::parseValue($args->getArgument('value')); $this->manager->setConfigKey($args->getArgument('key'), $value); return 0; }
private function parseParams(Args $args, array &$bindingParams) { foreach ($args->getOption('param') as $parameter) { $pos = strpos($parameter, '='); if (false === $pos) { throw new RuntimeException(sprintf('The "--param" option expects a parameter in the form ' . '"key=value". Got: "%s"', $parameter)); } $key = substr($parameter, 0, $pos); $value = StringUtil::parseValue(substr($parameter, $pos + 1)); $bindingParams[$key] = $value; } }