예제 #1
0
 /**
  * Loops through a list of provided parameters, resolves aliasing and stores errors
  * for unknown parameters and optionally for parameter overriding.
  * 
  * @param array $parameters Parameter name as key, parameter value as value
  * @param array $paramDefinitions List of parameter definitions. Either ParamDefinition objects or equivalent arrays.
  */
 public function setParameters(array $parameters, array $paramDefinitions)
 {
     $this->paramDefinitions = ParamDefinition::getCleanDefinitions($paramDefinitions);
     // Loop through all the user provided parameters, and distinguish between those that are allowed and those that are not.
     foreach ($parameters as $paramName => $paramData) {
         if ($this->options->lowercaseNames()) {
             $paramName = strtolower($paramName);
         }
         if ($this->options->trimNames()) {
             $paramName = trim($paramName);
         }
         $paramValue = is_array($paramData) ? $paramData['original-value'] : $paramData;
         $this->rawParameters[$paramName] = $paramValue;
     }
 }