Skip to content

Commit

Permalink
Added the setQueryParametersFromArray method.
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Brecht-Precht committed May 2, 2016
1 parent 02e1057 commit 75dbe02
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/Url.php
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,33 @@ public function setQueryParameters($queryParameters)
return $this;
}

/**
* @param mixed[] $queryParameters
* @return $this
*/
public function setQueryParametersFromArray(array $queryParameters)
{
if (is_null($queryParameters)) {
$this->clearQueryParameters();
return $this;
}
if (!is_array($queryParameters)) {
$argumentType = (is_object($queryParameters)) ? get_class($queryParameters) : gettype($queryParameters);
throw new \InvalidArgumentException('Expected query parameters as array; got ' . $argumentType);
}
foreach ($queryParameters as $queryParameter) {
if (!is_scalar($queryParameter)) {
$argumentType = (is_object($queryParameter)) ? get_class($queryParameter) : gettype($queryParameter);
throw new \InvalidArgumentException('Expected query parameter values as scalar; found ' . $argumentType);
}
}
$this->clearQueryParameters();
foreach ($queryParameters as $queryParameterKey => $queryParameterValue) {
$this->queryParameters[] = new QueryParameter($queryParameterKey, $queryParameterValue);
}
return $this;
}

/**
* @param QueryParameterInterface $queryParameter
* @return $this
Expand Down

0 comments on commit 75dbe02

Please sign in to comment.