getVariants()); $optionalParams = []; $requireParams = []; foreach ($parametersAcceptor->getParameters() as $position => $parameterReflection) { if ($parameterReflection->getDefaultValue() === null && !$parameterReflection->isVariadic()) { $requireParams[$position] = $parameterReflection; } else { $optionalParams[$position] = $parameterReflection; } } return $requireParams + $optionalParams; } }