本文整理汇总了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);
}