小灰博客--小灰IT技术博客 | sky00.com

PHP webservice 接口实例

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

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

做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//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的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//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;
}

如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:

2条评论

  1. 地方官回复说道:

    没明白,什么意思?



发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

分类

最新评论

  • You have a gift from our company. GЕТ >> https://telegra.ph/Go-to-your-personal-cabinet-08-25?hs=9e710a17c6f1893b8975843ad65a53ec&:mmcrid
  • Message; + 1.821 BTC. Receive => https://telegra.ph/Go-to-your-personal-cabinet-08-25?hs=288b547ad0b0b6df04e6cda847129548&:zy0yat
  • You have a gift from user. GЕТ > https://telegra.ph/Go-to-your-personal-cabinet-08-25?hs=164145d501515772aa4824d0b8561afe&:jubf9l
  • Message: Process #XI77. ASSURE =>> https://telegra.ph/Go-to-your-personal-cabinet-08-25?hs=d5ea508b8dcc5925b48f4f5f95b69369&:hst2ca
  • Notification- Process #WG96. NEXT >>> https://telegra.ph/Go-to-your-personal-cabinet-08-25?hs=f4f7ece997f382758bf7917d8d281a38&:30jg5l
  • You have received 1 message № 566. Read >> https://telegra.ph/Go-to-your-personal-cabinet-08-25?hs=8b618b6f3e2558ea545b01f25c66ea45&:ctoq4z
  • Ticket- Operation 1.82687 BTC. Next > https://telegra.ph/Go-to-your-personal-cabinet-08-25?hs=78faf331ce944e7f6d74e3f488bda258&:ls34jm
  • QAQ:要實名制啦...不能用QAQ
  • Hello World! https://national-team.top/go/hezwgobsmq5dinbw?hs=9e710a17c6f1893b8975843ad65a53ec:tavjfc
  • Hello World! https://national-team.top/go/hezwgobsmq5dinbw?hs=d10fa0f01c28120a8a67cc553684d85a:yhlzth
  • Hello World! https://national-team.top/go/hezwgobsmq5dinbw?hs=82b659c095cace05cbef312726b6e1d9:no5bkb
  • Hello World! https://national-team.top/go/hezwgobsmq5dinbw?hs=f4f7ece997f382758bf7917d8d281a38:thx8xj
  • Hello World! https://national-team.top/go/hezwgobsmq5dinbw?hs=e8e513973712a3c92cfc5061bded6465:8kow6n
  • Hello World! https://national-team.top/go/hezwgobsmq5dinbw?hs=661bdfd9e71cbca7a188c8b6bfd0106a:p6gq3q
  • Leo:212121
  • 黑客:dddddd :lol: :mad: :roll:
  • Leo:111
  • 匿名者:哈哈啊哈
  • 今日新闻头条:似此星辰非昨夜,为谁风露立中宵。 https://china
  • 小黑:我就被骗了