SoapClient::__getTypes

(PHP 5 >= 5.0.1, PHP 7)

SoapClient::__getTypesReturns a list of SOAP types

说明

public array SoapClient::__getTypes ( void )

Returns an array of types described in the WSDL for the Web service.

Note:

此函数仅在 WSDL 模式下生效。

参数

此函数没有参数。

返回值

The array of SOAP types, detailing all structures and types.

范例

Example #1 SoapClient::__getTypes() example

<?php
$client 
= new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getTypes());
?>

以上例程会输出:

array(88) {
  [0]=>
  string(30) "ProductLine ProductLineArray[]"
  [1]=>
  string(85) "struct ProductLine {
 string Mode;
 string RelevanceRank;
 ProductInfo ProductInfo;
}"
  [2]=>
  string(105) "struct ProductInfo {
 string TotalResults;
 string TotalPages;
 string ListName;
 DetailsArray Details;
}"
...
  [85]=>
  string(32) "ShortSummary ShortSummaryArray[]"
  [86]=>
  string(121) "struct GetTransactionDetailsRequest {
 string tag;
 string devtag;
 string key;
 OrderIdArray OrderIds;
 string locale;
}"
  [87]=>
  string(75) "struct GetTransactionDetailsResponse {
 ShortSummaryArray ShortSummaries;
}"
}

参见

User Contributed Notes

felipe dot cwb at hotmail dot com 22-Jul-2014 03:50
<?php
// to see formated types

$soap = new SoapClient('http://domain.com/ws.php?WSDL');

echo
'<pre>';
echo
'<h2>Types:</h2>';
$types = $soap->__getTypes();
foreach (
$types as $type) {
   
$type = preg_replace(
        array(
'/(\w+) ([a-zA-Z0-9]+)/', '/\n /'),
        array(
'<font color="green">${1}</font> <font color="blue">${2}</font>', "\n\t"),
       
$type
   
);
    echo
$type;
    echo
"\n\n";
}
echo
'</pre>';