本文整理匯總了PHP中Symfony\Component\Console\Input\ArrayInput::__construct方法的典型用法代碼示例。如果您正苦於以下問題:PHP ArrayInput::__construct方法的具體用法?PHP ArrayInput::__construct怎麽用?PHP ArrayInput::__construct使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\Console\Input\ArrayInput
的用法示例。
在下文中一共展示了ArrayInput::__construct方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: __construct
/**
* Merge options from $definition, $local_defaults and $passed
*
* Precedence: $passed > $local_defaults > $definition
*
* @param array() $local_defaults
* @param array() $options
*
* @return \Symfony\Component\Console\Input\ArrayInput
*/
public function __construct($local_defaults, $passed = null)
{
# if $passed is null, get and parse argv passed by CLI
if (empty($passed)) {
$passed = $this->getOptionsFromRequest();
}
# init array to construct ArrayInput
$merged = [];
$definition = new GinnyDefinition();
foreach ($definition->getOptions() as $name => $option) {
$merged['--' . $name] = $option->getDefault();
// override if set in $local_defaults
if (array_key_exists($name, $local_defaults)) {
$merged['--' . $name] = $local_defaults[$name];
}
// override with shortcut in $passed
if ($option->getShortcut()) {
if (array_key_exists('-' . $option->getShortcut(), $passed)) {
$merged['--' . $name] = $passed['-' . $option->getShortcut()];
}
}
// likewise replace with fully-name option in $passed
if (array_key_exists('--' . $name, $passed)) {
$merged['--' . $name] = $passed['--' . $name];
}
}
parent::__construct($merged);
}