/** * Add function to structure * * @param \Deflection\Element\Param $param Param * * @return \Deflection\Element\Classes */ public function addParam(\Deflection\Element\Param $param) { $element = $param->getElement(); $this->params = array_merge($this->params, array(''), $element); return $this; }
/** * Add all param to class with public scope to be fill by php SOAPClient * * @param Deflection\Element\Classes $class Current class * @param array $definition Param definition * * @return \Raoul\Generator */ protected function addParamsFromDefinition(Classes $class, $definition) { if (!isset($definition['all'])) { return $this; } $allSimple = true; $params = array(); foreach ($definition['all'] as $name => $infos) { $param = new Param(); $docblock = new Docblock(); $description = ucfirst($name); if ($infos['nullable'] === true) { $param->setValue('null'); } if ($infos['collection'] === true) { $description = $description . ' collection'; $param->setValue('array()'); } $type = $this->getType($infos['type'], $class->getNamespace()); $docblock->setDescription($description); $docblock->addParam('var', $type); $param->setName($name); $param->isPublic(); $param->setDocblock($docblock); $class->addParam($param); if (!$this->isSImpleType($type)) { $allSimple = false; } else { $params[$name] = $type; } } if ($allSimple) { $this->simpleTypeCLass[$class->getName()] = $params; } return $this; }