function addComplexType(
        $name, $typeClass = 'complexType', $phpType = 'array', $compositor = '', $restrictionBase = '', $elements = [], $attrs = [],
        $arrayType = ''
    ) {
        $this->complexTypes[$name] = [
            'name'            => $name,
            'typeClass'       => $typeClass,
            'phpType'         => $phpType,
            'compositor'      => $compositor,
            'restrictionBase' => $restrictionBase,
            'elements'        => $elements,
            'attrs'           => $attrs,
            'arrayType'       => $arrayType
        ];

        $this->xdebug("addComplexType $name:");
        $this->appendDebug($this->varDump($this->complexTypes[$name]));
    }
function addComplexType(
        $name, $typeClass = 'complexType', $phpType = 'array', $compositor = '', $restrictionBase = '', $elements = [], $attrs = [],
        $arrayType = ''
    ) {
        $this->complexTypes[$name] = [
            'name'            => $name,
            'typeClass'       => $typeClass,
            'phpType'         => $phpType,
            'compositor'      => $compositor,
            'restrictionBase' => $restrictionBase,
            'elements'        => $elements,
            'attrs'           => $attrs,
            'arrayType'       => $arrayType
        ];

        $this->xdebug("addComplexType $name:");
        $this->appendDebug($this->varDump($this->complexTypes[$name]));
    }
function addComplexType ( $ name , $ typeClass = 'complexType' , $ phpType = 'array' , $ compositor = '' , $ restrictionBase = '' , $ elements = [ ] , $ attrs = [ ] , $ arrayType = '' ) { $ this -> complexTypes [ $ name ] = [ 'name' => $ name , 'typeClass' => $ typeClass , 'phpType' => $ phpType , 'compositor' => $ compositor , 'restrictionBase' => $ restrictionBase , 'elements' => $ elements , 'attrs' => $ attrs , 'arrayType' => $ arrayType ] ; $ this -> xdebug ( "addComplexType $name:" ) ; $ this -> appendDebug ( $ this -> varDump ( $ this -> complexTypes [ $ name ] ) ) ; }
adds a complex type to the schema

example: array

addType(
'ArrayOfstring',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]'),
'xsd:string'
);

example: PHP associative array ( SOAP Struct )

addType(
'SOAPStruct',
'complexType',
'struct',
'all',
array('myVar'=> array('name'=>'myVar','type'=>'string')
);

@param name
@param typeClass (complexType|simpleType|attribute)
@param phpType : currently supported are array and struct (php assoc array)
@param compositor (all|sequence|choice)
@param restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
@param elements = array ( name = array(name=>'',type=>'') )
@param attrs = array(
array(
'ref' => "http://schemas.xmlsoap.org/soap/encoding/:arrayType",
"http://schemas.xmlsoap.org/wsdl/:arrayType" => "string[]"
)
)
@param arrayType : namespace:name (http://www.w3.org/2001/XMLSchema:string)

@access public
@see    getTypeDef
adds a complex type to the schema