/** * This function returns the list of the ordared parameters * * @param array $functionParameters The paramaters the function expects $functionParameters * @param string $actualParameters The given parameters */ private function getOrderedParameters($functionParameters, array $actualParameters = array()) { $orderedParameters = array(); foreach ($functionParameters as $parameter) { $name = $parameter->getName(); if (array_key_exists($name, $actualParameters)) { $orderedParameters[] = $actualParameters[$name]; } else { if (!$parameter->isOptional()) { $e = new Exception('Mandatory parameter "' . $name . '" not set.'); $e->setMissingParameter($name); throw $e; } else { $orderedParameters[] = $parameter->getDefaultValue(); } } } return $orderedParameters; }