函式名稱:SoapClient::__getTypes()
適用版本:PHP 5, PHP 7
函式描述:該函式用於獲取由SOAP服務定義的所有資料型別。
用法:
$wsdl = 'http://example.com/soap-service.wsdl';
$options = array(
'trace' => true,
'cache_wsdl' => WSDL_CACHE_NONE
);
$client = new SoapClient($wsdl, $options);
// 獲取SOAP服務定義的所有資料型別
$types = $client->__getTypes();
// 列印所有資料型別
foreach ($types as $type) {
echo $type . "\n";
}
示例解釋:
- 首先,我們需要定義一個WSDL檔案的URL,該檔案包含了SOAP服務的定義。在示例中,我們使用
http://example.com/soap-service.wsdl
作為WSDL檔案的URL。 - 建立一個$options陣列,其中包含了一些配置選項。在示例中,我們設定
trace
為true
,以便在除錯時可以檢視SOAP請求和響應的詳細資訊。另外,我們設定cache_wsdl
為WSDL_CACHE_NONE
,以禁用WSDL快取。 - 使用
new SoapClient($wsdl, $options)
建立一個SoapClient物件。該物件將與SOAP服務進行通訊。 - 呼叫
__getTypes()
函式,該函式將返回一個包含SOAP服務定義的所有資料型別的陣列。 - 使用
foreach
迴圈遍歷陣列,列印每個資料型別。
注意事項:
- 在使用
__getTypes()
函式之前,必須先建立一個SoapClient物件。 - 該函式僅適用於透過WSDL檔案定義的SOAP服務。如果使用非WSDL方式建立SoapClient物件,該函式將無法獲取資料型別資訊。