本文实例讲述了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.<br />$soap->addFunction('minus_func'); //Register the function<br />$soap->addFunction(SOAP_FUNCTIONS_ALL);<br />$soap->handle();<br />function minus_func($i, $j){<br /> $res <p style="color:transparent">本文来源gao!%daima.com搞$代*!码$网3</p><strong>搞代gaodaima码</strong>= $i - $j;<br /> return $res;<br />}<br />//client端 clientSoap.php<br />try {<br /> $client = new SoapClient(null,<br /> array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/")<br /> );<br /> echo $client->minus_func(100,99);<br />} catch (SoapFault $fault){<br /> echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;<br />}
这是客户端调用服务器端函数的例子,我们再搞个class的。
server端 serverSoap.php
$classExample = array();<br />$soap = new SoapServer(null,array('uri'=>"http://192.168.1.179/",'classExample'=>$classExample));<br />$soap->setClass('chesterClass');<br />$soap->handle();<br />class chesterClass {<br /> public $name = 'Chester';<br /> function getName() {<br /> return $this->name;<br /> }<br />}<br />//client端 clientSoap.php<br />try {<br /> $client = new SoapClient(null,<br /> array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/")<br /> );<br /> echo $client->getName();<br />} catch (SoapFault $fault){<br /> echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;<br />}
希望本文所述对大家的PHP程序设计有所帮助。