Latest web development tutorials

กรณีบริการเว็บ

โปรแกรมใด ๆ สามารถมีส่วนประกอบบริการเว็บ

หมวดหมู่การสร้างบริการเว็บและการเขียนโปรแกรมภาษาอิสระ

ในบทนี้เราจะมาแนะนำการใช้งานของการขยาย SOAP ของ PHP ในการสร้างบริการเว็บ

สบู่มีสองโหมดการทำงานไม่มี WSDL และ WSDL

  • NO-WSDL โหมด: การถ่ายทอดข้อมูลไปใช้พารามิเตอร์
  • โหมด WSDL: การใช้ชื่อไฟล์ WSDL เป็นพารามิเตอร์และดึงข้อมูลที่จำเป็นจาก WSDL บริการ

บริการเว็บ PHP: ตัวอย่างหนึ่ง

ก่อนที่คุณจะเริ่มต้นเช่นเราจำเป็นต้องตรวจสอบว่าจะติดตั้งส่วนขยาย PHP SOAP ดู phpinfo ข้อความต่อไปนี้ปรากฏการติดตั้งส่วนขยาย SOAP นี้:

ในตัวอย่างนี้เราจะใช้ PHP SOAP ในการสร้างบริการเว็บง่าย

รหัสไฟล์เซิร์ฟเวอร์Server.php เป็นดังนี้:

<?php 
// SiteInfo 类用于处理请求
Class SiteInfo
{
    /**
     *    返回网站名称
     *    @return string 
     *
     */
    public function getName(){
        return "本教程";
    }

    public function getUrl(){
        return "www.w3big.com";
    }
}

// 创建 SoapServer 对象
$s = new SoapServer(null,array("location"=>"http://localhost/soap/Server.php","uri"=>"Server.php"));

// 导出 SiteInfo 类中的全部函数
$s->setClass("SiteInfo");
// 处理一个SOAP请求,调用必要的功能,并发送回一个响应。
$s->handle();
?>

รหัสไคลเอ็นต์Client.php ไฟล์จะเป็นดังนี้:

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

จากนั้นเราก็ไปที่ http: //localhost/soap/Client.php ผลการส่งออกมีดังนี้