我很黑! 发表于 2018-12-22 10:01:15

我认为这是最简单的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;
[*]}
  

  转载:http://hi.baidu.com/chesterphp/blog/item/d8ebaefbb0942417a9d3116c.html


页: [1]
查看完整版本: 我认为这是最简单的php webservice教程了,一看就懂