private function createParameter($parentEl, $name, $value)
{
$parameterEl = $parentEl->appendElement('parameter');
$parameterEl->setAttribute('name', $name);
if (is_array($value)) {
$parameterEl->setAttribute('type', 'collection');
foreach ($value as $key => $element) {
$this->createParameter($parameterEl, $key, $element);
}
return $parameterEl;
}
if (is_scalar($value)) {
$parameterEl->setAttribute('value', $value);
return $parameterEl;
}
throw new \InvalidArgumentException(sprintf('Parameters must be either scalars or arrays, got: %s', is_object($value) ? get_class($value) : gettype($value)));
}