Fixed kebab-name console command parameters

This commit is contained in:
Alexander Makarov
2018-02-18 23:32:50 +03:00
parent e4d5dd3898
commit cd8a9c47d7

View File

@ -113,7 +113,8 @@ class Controller extends \yii\base\Controller
foreach ($params as $name => $value) {
// Allow camelCase options to be entered in kebab-case
if (!in_array($name, $options, true) && strpos($name, '-') !== false) {
$altName = lcfirst(Inflector::id2camel($name));
$kebabName = $name;
$altName = lcfirst(Inflector::id2camel($kebabName));
if (in_array($altName, $options, true)) {
$name = $altName;
}
@ -131,6 +132,9 @@ class Controller extends \yii\base\Controller
}
$this->_passedOptions[] = $name;
unset($params[$name]);
if (isset($kebabName)) {
unset($params[$kebabName]);
}
} elseif (!is_int($name)) {
throw new Exception(Yii::t('yii', 'Unknown option: --{name}', ['name' => $name]));
}