php实现webservice实例

本文实例讲述了php实现webservice的方法。分享给大家供大家参考。具体实现方法如下:

首先大家要简单了解何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。

这里的测试环境为:apache2.2.11 php5.2.10

做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即

extension=php_soap.dll;

OK 现在我们来体验webservice

server端 serverSoap.php

$soap = new SoapServer(null,array('uri'=>"http://192.168.1.179/"));//This uri is your SERVER ip.

$soap->addFunction('minus_func');                                                 //Register the function

$soap->addFunction(SOAP_FUNCTIONS_ALL);

$soap->handle();

function minus_func($i, $j){

    $res = $i - $j;

    return $res;

}

//client端 clientSoap.php

try {

    $client = new SoapClient(null,

        array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/")

    );

    echo $client->minus_func(100,99);

} catch (SoapFault $fault){

    echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;

}

这是客户端调用服务器端函数的例子,我们再搞个class的。

server端 serverSoap.php

$classExample = array();

$soap = new SoapServer(null,array('uri'=>"http://192.168.1.179/",'classExample'=>$classExample));

$soap->setClass('chesterClass');

$soap->handle();

class chesterClass {

    public $name = 'Chester';

    function getName() {

        return $this->name;

    }

}

//client端 clientSoap.php

try {

    $client = new SoapClient(null,

        array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/")

    );

    echo $client->getName();

} catch (SoapFault $fault){

    echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;

}

希望本文所述对大家的PHP程序设计有所帮助。