文字

SoapClient::__getTypes

(PHP 5 >= 5.0.1)

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;
}"
}

参见

  • SoapClient::SoapClient() - SoapClient constructor

用户评论:

[#1] sanok [2014-09-23 19:19:13]

Great snippet Felipe!

Thank you very much, very useful!

[#2] felipe dot cwb at hotmail dot com [2014-07-21 18:50:55]

<?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>';

上一篇: 下一篇: