国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

利用PHP SOAP擴展實現簡單Web Services

2020-03-22 20:19:48
字體:
來源:轉載
供稿:網友
  • WebServices能干什么?

    WebServices 可以將html' target='_blank'>應用程序轉換為網絡應用程序。

    通過使用 WebServices,您的應用程序可以向全世界發布信息,或提供某項功能。

    好了,關于WebServices網上資料很多,就不過多介紹了,直接進入主題。

    PHP有兩個擴展類庫可以實現WebServices,一個是NuSoap,一個是php官方自帶的Soap擴展,在使用上大致都差不多,就拿官方自帶的Soap擴展來說吧。

    在Soap編寫WebServices中主要用到了SoapClient,SoapServer,SoapFault三個類。

    SoapClient:用戶訪問的類,也就是客戶端,使用WebServices的類

    SoapServer:提供WebServices類,服務端

    SoapFault:異常處理類

    作為示例,寫個超級簡單的的WebServices來感受下吧,直接代碼說話

    1、Myself.class.php  --業務邏輯類,功能實現類

    1 <?php2     //業務邏輯類3     class Myself{4         public function info(){5             return "新浪微博:Balla_兔子,求關注啦~";6         }7     }8 ?>

    很簡單,無需多余解釋,返回一個字符串

    2、soapServer.php  --服務端類,提供服務

     1 <?php 2     //服務端 3     require_once('Myself.class.php'); 4     $parameter=array( 5         'uri'=>'http://localhost/', 6         'location'=>'http://localhost/soap/soapServer.php' 7         ); 8     $soapServer=new SoapServer(null,$parameter); 9     $soapServer->setClass('Myself');10     $soapServer->handle();11 ?>

    SoapServer有兩種操作模式:

    上面舉例的是non-WSDL模式,在實例化SoapServer類時,一個參數是放WSDL文件,在non-WSDL模式里,可以為空,把配置參數以數組的形式寫在第二個參數。

    如果用的是WSDL模式,可以直接用WSDL文件讓服務器讀取配置參數,此時可以省略第二個數組參數。

    配置參數有許多,上面為簡單舉例只列出2個,具體大家可以在網上查查

    uri  --命名空間

    location  --服務地址

    1、WSDL模式  在WSDL模式中,構造器可以使用WSDL文件名作為參數,并從WSDL中提取服務所使用的信息。

    2、non-WSDL模式  在non-WSDL模式中,使用參數來傳遞要使用的信息,用來管理服務的行為。

    在SoapServer類的眾多方法中,有三個方法比較重要。它們是SoapServer::setClass()、SoapServer::addFunction()、SoapServer::handle()。

    特別注意,在handle方法之前之后均不能輸出任何參數,否則會出錯。

    3、soapClient.php  --客戶端類,使用服務

     1 <?php 2     //客戶端 3     $parameter=array( 4         'uri'=>'http://localhost/', 5         'location'=>'http://localhost/soap/soapServer.php' 6         ); 7     try{ 8         $soapClient=new SoapClient(null,$parameter); 9         echo $soapClient->info();10 11     }catch(Exception $e){12         echo $e->getMessage();13     }14 15 ?>

    SoapClient類可以作為給定WebServices的客戶端。
    它有兩種操作形式:(和SoapServer的兩種模式差不多)
    1、WSDL 模式

    2、Non-WSDL 模式

    以上就是利用PHP SOAP擴展實現的簡單WebServices,我們訪問soapClient.php試試看

    輕松搞定~

    附:

    現在大多的WebServices接口的返回值是JSON或XML,我們可以在內部自己定義賦值。

    常用函數 file_get_contents、json_encode、json_decode等

    這里有篇關于json操作時該注意的事項:http://www.cnblogs.com/lichenwei/p/3888586.html

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 蒙自县| 溆浦县| 上栗县| 湾仔区| 中江县| 托里县| 揭西县| 通化市| 左贡县| 桂东县| 长宁区| 崇明县| 越西县| 吉木萨尔县| 台北县| 包头市| 明水县| 苍梧县| 抚远县| 涟水县| 天气| 清水县| 华容县| 海盐县| 白河县| 阳谷县| 兴安盟| 儋州市| 邢台市| 那坡县| 仁寿县| 灵武市| 武穴市| 美姑县| 泸西县| 额尔古纳市| 客服| 龙门县| 溧阳市| 定襄县| 蒲城县|