/** * Adds parameter to collection and removes all other parameters with same name. * * @param ArrayCollection $parameters * @param Parameter $newParameter */ protected function addOrReplaceParameter(ArrayCollection $parameters, Parameter $newParameter) { $removeParameters = []; /** @var Parameter $parameter */ foreach ($parameters->getValues() as $parameter) { if ($parameter->getName() === $newParameter->getName()) { $removeParameters[] = $parameter; } } foreach ($removeParameters as $removeParameter) { $parameters->removeElement($removeParameter); } $parameters->add($newParameter); }
/** * Converts a query parameter to an array. * * @param Parameter $parameter The query parameter * * @return array The array representation of the parameter */ private function parameterToArray(Parameter $parameter) { return array($parameter->getName(), $parameter->getType(), $parameter->getValue()); }