getDocComment())) { return array($args, $options); } $nbRequiredParams = $reflection->getNumberOfRequiredParameters(); if (count($args) < $nbRequiredParams) { throw new ConsoleException("Not enough parameters in '" . $reflection->getName() . "'"); } $params = $args; if (count($args) > $nbRequiredParams) { $params = array_slice($args, 0, $nbRequiredParams); $args = array_slice($args, $nbRequiredParams); } foreach ($reflection->getParameters() as $param) { if ($param->isOptional() && substr($param->getName(), 0, 1) !== '_') { if (array_key_exists($param->getName(), $options)) { $params[] = $options[$param->getName()]; unset($options[$param->getName()]); } else { $params[] = $param->getDefaultValue(); } } } $params[] = $args; $params[] = $options; return $params; } }