วิธีการสร้าง WebService อย่างง่ายด้วย ZendSOAP

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

batman1292
PHP Jr. Member
PHP Jr. Member
โพสต์: 24
ลงทะเบียนเมื่อ: 10/01/2012 1:09 pm

วิธีการสร้าง WebService อย่างง่ายด้วย ZendSOAP

โพสต์โดย batman1292 » 11/05/2012 6:01 pm

หัวข้อนี้จะเป็นการสร้าง WebServices อย่างง่ายด้วย ZendSOAP โดยที่อันดับแรกให้โหลดไฟล์ที่ได้แนบเอาไว้ แตกไฟล์แล้วนำไปไว้ใน Folder ที่เราจะทำการเขียนโค๊ด
จากนั้นก็แบ่งโค๊ดออกเป็น 2 ส่วนเหมือนเดิม
โดยส่วนแรกจะเป็นส่วนของ Server จะเป็นไปตามโค๊ดด้านล่างนี้

โค้ด: เลือกทั้งหมด

require('Zend/Soap/AutoDiscover.php');
require(
'Zend/Soap/Server.php');

function hello($input) {
    return "Hello".$input;
}

if(isset(
$_GET['wsdl'])) {
    $autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->addFunction('hello');
    $autodiscover->handle();
}else{
    $server = new Zend_Soap_Server( 'http://localhost/***/yyy.php?wsdl' );
    $server->addFunction("hello");
    $server->handle();
}
 

จากโค๊ดดังกล่าว ส่วนแรกจะเป็นการดึง library ที่จะใช้ในส่วนของ Server โดยเราจะดึงมา 2 ไฟล์ตามนี้

โค้ด: เลือกทั้งหมด

require('Zend/Soap/AutoDiscover.php')
require(
'Zend/Soap/Server.php'

จากนั้นเป็นส่วนของฟังก์ชันที่เราได้สร้างเอาไว้
ต่อมาจะสังเกตุได้ว่าโค๊ดได้ถูกแบ่งออกเป็น 2 ส่วนคือ

โค้ด: เลือกทั้งหมด

$autodiscover = new Zend_Soap_AutoDiscover();
    $autodiscover->addFunction('hello');
    $autodiscover->handle(); 

ส่วนนี้จะเป็นส่วนที่ทำการเจ็นฟังก์ชันให้เป็นภาษา WSDL แต่ไม่สามารถใช้เป็นส่วนของ Server ดังนั้นเราจึงทำการสร้างอีกส่วนหนึ่งคือ

โค้ด: เลือกทั้งหมด

$server = new Zend_Soap_Server( 'http://localhost/***/yyy.php?wsdl' );
    $server->addFunction("hello");
    $server->handle();

ในส่วนนี้จะเป็นส่วนของ Server จริงๆที่เราสามารถนำไปใช้ต่อได้
ส่วนต่อมาจะเป็นส่วนของ Client จะมีโค๊ดดังนี้

โค้ด: เลือกทั้งหมด

require('Zend/Soap/Client.php');

$client = new Zend_Soap_Client( 'http://localhost/***/yyy.php?wsdl' );

echo(
 $client->__call( 'hello', array( 'kdkdik' ) ) ); 

ซึ่งในส่วนนี้จะเห็นได้ว่ามีการดึง library มาเหมือนกัน
แล้วจึงเป็นการสร้าง Client โดยใช้ไฟล์ WSDL ที่ได้ทำการเจ็นจากส่วน Server
สุดท้ายเป็นการเรียกใช้ฟังก์ชัน
ข้อมูลเพิ่มเติมสำหรับรายละเอียดปลีกย่อยอื่นๆตามลิงค์นี้http://framework.zend.com/manual/en/zend.soap.html
แนบไฟล์
Zend.rar
(33.16 KiB) ดาวน์โหลด 187 ครั้ง

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 5 และ บุคคลทั่วไป 0 ท่าน