欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php实现webservice实例

程序员文章站 2022-05-29 10:50:17
本文实例讲述了php实现webservice的方法。分享给大家供大家参考。具体实现方法如下: 首先大家要简单了解何谓webservice,接下来就做两个非常简单的例子,w...

本文实例讲述了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程序设计有所帮助。