创建PHP Web服务的最佳方式

时间:2011-01-11 19:37:53

标签: php wsdl odata nusoap

不是真正的PHP开发人员,但我有PHP托管,并希望在其上创建一个PHP Web服务供.NET客户端使用,我正在考虑将WSDL与NUSoap一起使用。

OR

更现代的解决方案,我不确定会更容易,将使用OData。哪一个更容易?

3 个答案:

答案 0 :(得分: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));

答案 1 :(得分:2)

请为上帝的爱不要使用SOAP。这太糟糕了。

使用REST(或至少GET和POST)和JSON。这么容易。

请参阅SOAP or REST for Web Services?

更新:我最初是针对XML咆哮的,但它有它的位置。虽然JSON更好(更简洁)。

答案 2 :(得分:0)

本网站对此进行了详细解释:http://wso2.org/library/3393