2011-01-11 29 views
1

PHPの開発者ではありませんが、PHPホスティングがあり、.NET Webクライアントで消費されるPHP Webサービスを作成する場合は、NUSoapでWSDLを使用することを考えています。私はわからないPHP Webサービスを作成する最良の方法

OR

より近代的な解決策は、容易になるだろう、のODataを使用することです。どちらが簡単でしょうか?

+0

http://harmful.cat-v.org/software/xml/soap/simple –

答えて

4

C#開発者にとって最も簡単なのは、WSDLを使ってSOAPサービスを開発することです。それはPHPでサービスを作成する痛みになります。

もっと良い方法は、JSONを使用して通信するREST Webサービスを作成することです。それはbit more code on the client sideがかかりますが、他のプラットフォームでの使用が容易になり、PHPで開発するのが簡単になります。

これは、PHPの非常に単純なREST-JSON Webサーバーの例です。

function finder($person) 
{ 
    $data = array(); 

    $data['sue']['full_name'] = 'Sue Thompson'; 
    $data['sue']['location']['city'] = 'San Francisco'; 
    $data['sue']['location']['state'] = 'California'; 

    $data['jack']['full_name'] = 'Jack Black'; 
    $data['jack']['location']['city'] = 'San Anselmo'; 
    $data['jack']['location']['state'] = 'California'; 

    if (!isset($data[$person)) 
    { 
     return $data[$person]; 
    } 
    else 
    { 
     // make sure you document this 
     return array('error' => "An error has occured"); 
    } 
} 

// you can take parameters as url query strings or as json. 
// if your input is simple, query strings are easier. 
$person = $_GET['person']; 

echo json_encode(finder($person)); 
+0

は疑問がPHPを指定しませんでしたか?彼女はPHPサーバー、.netクライアントを言った。 –

+0

REST Webサービスは、サーバー側のコードを開発するのが容易になり、よく知られています(GoogleのWebサービスの仕組みです)。 .net側では自動的に動作しません。 –

+0

そのサーバー側はPHPであり、それほど複雑ではないので、クライアント側は.NET、JSONは実際には良い考えです。 – emalamisura

2

SOAPを使用しないでください。ひどく恐ろしいです。

REST(または少なくともGETとPOST)とJSONを使用します。とても簡単です。私はもともとXMLに対してrantedが、それはその場所を持っています

SOAP or REST for Web Services?

UPDATEを参照してください。 JSONは優れています(あまり冗長ではありません)。

+0

XMLはその場所を持っています。あなたの聴衆によって異なります。パーサーの周りであなたのやり方を学ぶと、XMLはそれほど悪くはありません。 SOAPはほとんどの場合失敗しますが、クライアントが.NETの場合、SOAPはかなり役に立ちます。 –

関連する問題