PHP实现WebService服务

999 阅读1分钟

第一步,安装PHP扩展SOAP并开启扩展,是否开启成功以phpinfo为准。

第二步,创建服务端文件server.php

<?php
Class server
{
    public function hello(){
        return "Hello World!";
    }

    public function sum($num1,$num2){
        return $num1+$num2;
    }
}
// 创建 SoapServer 对象
$s = new SoapServer(null,array("location"=>"http://localhost/webservice/server.php","uri"=>"server.php"));
// 导出 server 类中的全部函数
$s->setClass("server");
// 处理一个SOAP请求,调用必要的功能,并发送回一个响应。
$s->handle();

第三步,创建客户端文件client.php

<?php
try{
    // non-wsdl方式调用web service
    // 创建 SoapClient 对象
    $soap = new SoapClient(null,array('location'=>"http://localhost/webservice/server.php",'uri'=>'server.php'));
    // 调用函数
    $result1 = $soap->hello();//调用方式1
    $result2 = $soap->__soapCall("sum",array(1,2));//调用方式2
    echo $result1."<br/>";
    echo $result2;
} catch(SoapFault $e){
    echo $e->getMessage();
}catch(Exception $e){
    echo $e->getMessage();

至此,webservice的配置工作已完成。其实,仅仅服务端文件便搭建了webservice服务,客户端文件只是为了测试。

第四步,访问服务端文件,开启webservice服务。

五步,访问客户端文件,调用服务端服务,测试完成。

Enjoy it !

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要戳这里 PHP进阶架构师>>>视频、面试文档免费获取