PHP與WCF通信數據獲取


上回說到php與wcf成功通信了,並且得到了數據
當時說的數據是基類型數據
今天我要說的是返回對象數據.
首先我們說返回單個對象
服務端,我定了一個GetUser的接口,返回一個UserInfo對象
public class UserInfo
{
[DataMember]
public String Name { set; get; }
[DataMember]
public int Age { set; get; }
}
Serivce接口:
[OperationContract]
UserInfo GetUser();
Php代碼:
$soap=new SoapClient("http://localhost:4625/Service1.svc?wsdl");
$result=$soap->GetUser();
echo var_export($result->GetUserResult->Name);//得到Name屬性鳥

echo var_export($result->GetUserResult)//這句輸出查看源碼如下
stdClass::__set_state(array(
'Age' => 17,
'Name' => '帥呆',
))
結合着看,你就明白鳥


同理,如果接口返回一個List<Ojbect>也簡單了

wcf接口
[OperationContract]
List<UserInfo> GetUsers();
Php接收代碼
$result=$soap->GetUsers();
echo var_export($result->GetUsersResult->UserInfo);
//以上這句輸出文件:
array ( 0 => stdClass::__set_state(array( 'Age' => 18, 'Name' => 'May', )), 1 => stdClass::__set_state(array( 'Age' => 20, 'Name' => 'Jonn', )), )
//查看源碼如下
array (
0 =>
stdClass::__set_state(array(
'Age' => 18,
'Name' => 'May',
)),
1 =>
stdClass::__set_state(array(
'Age' => 20,
'Name' => 'Jonn',
)),
)
同樣,比如我們現在欲得到Name:Jonn Age:20這個數據
echo var_export($result->GetUsersResult->UserInfo[1]->Name);


var_dump -- 打印變量的相關信息
描述
void var_dump ( mixed expression [, mixed expression [, ...]] )
此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構

var_export -- 輸出或返回一個變量的字符串表示
此函數返回關於傳遞給該函數的變量的結構信息,它和 var_dump() 類似,不同的是其返回的表示是合法的 PHP 代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM