New definition of complex type
The exposure of complex type properties was done only with public property. Now you can expose properties and public methods. Before: In a complex type: /** * @var string */ public $var; After: In a complex type: use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap; /** * @Soap\PropertyComplexType("string", name="var", nillable="true") */ public $username; private $email; /** * @Soap\MethodComplexType("string", name="email", nillable="true", setter="setEmail") */ public function getEmail() { return $this->email; } public function setEmail($email) { $this->email = $email; } name, nillable are optionnal. setter is optional and only available for MethodComplexType.
This commit is contained in:
@ -34,6 +34,8 @@ class ServiceDefinition
|
||||
*/
|
||||
private $headers;
|
||||
|
||||
private $complexTypes = array();
|
||||
|
||||
public function __construct($name = null, $namespace = null, array $methods = array(), array $headers = array())
|
||||
{
|
||||
$this->setName($name);
|
||||
@ -127,4 +129,14 @@ class ServiceDefinition
|
||||
|
||||
return $types;
|
||||
}
|
||||
|
||||
public function addDefinitionComplexType($type, Collection $complexType)
|
||||
{
|
||||
$this->complexTypes[$type] = $complexType;
|
||||
}
|
||||
|
||||
public function getDefinitionComplexTypes()
|
||||
{
|
||||
return $this->complexTypes;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user