ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การพัฒนา  web service  เราสามารถใช้งานได้ในรูปแบบ xmlRPC หรือ  JsonRPC  ซึ่งทั้ง 2 แบบนั้น องค์ประกอบหลักๆ จะมีอยู่ 2 ส่วน คือ

1. Web Service ฝั่ง Server ที่ให้บริการ
2. Web Service ฝั่ง Client ที่เรียกใช้ Web Service ฝั่ง Server

สำหรับตัวอย่างการพัฒนา xmlRPC  ใน php ธรรมดา สามารถศึกษาได้จากที่นี่ http://www.mindphp.com/forums/viewtopic.php?f=72&p=72435#p72435

ในบทความนี้เราจะใช้  JsonRPC โดย php library สามารถดาวน์โหลดได้ที่นี่ https://github.com/fguillot/JsonRPC

เริ่มกันเลย

 ไฟล์ Server.php คือ Web Service ฝั่ง Server ที่ให้บริการ

<?php

require 'JsonRPC/Server.php';

use JsonRPC\Server;

$server = new Server;

// Procedures registration
$server->register('addition', function ($a, $b) {
    return $a + $b;
});

$server->register('random', function ($start, $end) {
    return mt_rand($start, $end);
});

// Return the response to the client
echo $server->execute();

 

ไฟล์ Index.php Web Service ฝั่ง Client ที่เรียกใช้ Web Service ฝั่ง Server

<?php

require 'JsonRPC/Client.php';

use JsonRPC\Client;

$client = new Client('http://localhost/JsonRPC/src/Server.php');
$result = $client->execute('addition', [3, 5]);

var_dump($result);

 

คำอธิบาย
$client = new Client('http://localhost/JsonRPC/src/Server.php'); คือ ส่วนที่ระบุ URL ที่ให้บริการของฝั่ง Server
$result = $client->execute('addition', [3, 5]);  คือ ระบุชื่อ Medthod ที่จะเรียกทำงาน พร้อมกับระบุค่าลงไปด้วย

เมื่อทำการ รันผลที่ได้ 
int(8) 

เหตุผลที่ได้ 8 เพราะว่า Medthod ที่ฝั้ง server จะเอาค่าตัวแปรมา + กันนั้นเอง

จากบทความนี้เราสามารถทำไปประยุกต์ใช้งานได้อีกหลากหลาย เช่น นำไปใช้งานใน extension phpBB ได้ค่ะ เเต่วิธีการนำไปใช้จะเเตกต่างจากนี้ตรงวิธีเรียก library ค่ะ

หัวเรื่อง
ขั้นตอนการสร้าง JsonRPC PHP Client and Server การพัฒนา web service
หมวดหมู่
Mindphp Sample Files, Mindphp Sample Files
ฮิต
24273
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2015-12-09 22:25:04

JsonRPC.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 8.78 KB

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2015-12-09 15:24:53


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R - AI แยกชาย/หญิง
โดย mindphp ศ 31 ก.ค. 2020 8:08 pm บอร์ด FDD (Main)
0
1
ศ 31 ก.ค. 2020 8:08 pm โดย mindphp
สอบถามเรื่อง cron.task.core เวลาในการตั้งค่า ให้ระบบทำงาน
โดย thatsawan ศ 31 ก.ค. 2020 5:34 pm บอร์ด Programming - PHP
2
30
ศ 31 ก.ค. 2020 6:19 pm โดย thatsawan
ผมไปโหลดโปรเเกรมนึงมาพอผมติดตั้งตามปกติเเต่เหมือนจะเป็นไวรัสผมเลยรีบลบ
โดย Anonymous ศ 31 ก.ค. 2020 12:18 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
26
ศ 31 ก.ค. 2020 4:06 am โดย mindphp
ถ้าเราต้องการ timestamp เวลา 0.00 น. เที่ยงคืนของวันปัจจุบัน ทำได้ยังไงค่ะ
โดย thatsawan พ 29 ก.ค. 2020 11:24 am บอร์ด Programming - PHP
4
65
พฤ 30 ก.ค. 2020 5:50 pm โดย anawat2050
[Tip]excel วิธี save as เป็นไฟล์ .csv โดยใช้ | คั่นคอลัมน์แทน ,
โดย jataz2 พ 29 ก.ค. 2020 9:14 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
29
พ 29 ก.ค. 2020 9:14 am โดย jataz2
Webboard สำหรับ WP
โดย wichai007 อ 28 ก.ค. 2020 9:01 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
57
อ 28 ก.ค. 2020 9:01 pm โดย wichai007
ถอด วันที่จาก excel มาได้ผลลัพท์เเต่ละ แถว row ไม่เหมือนกัน
โดย thatsawan อ 28 ก.ค. 2020 8:18 pm บอร์ด Programming - PHP
2
46
อ 28 ก.ค. 2020 8:40 pm โดย mindphp
B - ตัวอย่างคำสั่งที่ไม่เข้าไปใน e-mail [2020-07][002]
โดย natthanit.r2538 ศ 24 ก.ค. 2020 6:28 pm บอร์ด MD-CRM - Tester
2
8
อ 28 ก.ค. 2020 7:12 pm โดย mindphp
สอบถาม มีวิธีเขียน pyhon อ่านไฟล์ .dll มั้ยครับ
โดย jirawoot ศ 24 ก.ค. 2020 2:36 pm บอร์ด Programming - C/C++ & java & Python
0
93
ศ 24 ก.ค. 2020 2:36 pm โดย jirawoot
จะต้องทำยังไงถึงจะสมบรูณ์ GroundOverlay overlay
โดย niran พ 22 ก.ค. 2020 11:19 pm บอร์ด JavaScript & Jquery Ajax
0
120
พ 22 ก.ค. 2020 11:19 pm โดย niran
จะต้องทำยังไงถึงจะสมบรูณ์
โดย Anonymous พ 22 ก.ค. 2020 9:14 pm บอร์ด HTML CSS
2
138
พฤ 23 ก.ค. 2020 8:30 pm โดย บุคคลทั่วไป
สอบถามเกี่ยวกับการรองรับจำนวนผู้ใช้งาน postgresql
โดย Anonymous พ 22 ก.ค. 2020 2:56 pm บอร์ด SQL - Database
1
116
พ 22 ก.ค. 2020 4:45 pm โดย mindphp
การรองรับจำนวนผู้ใช้ postgreSQL
โดย Anonymous พ 22 ก.ค. 2020 2:33 pm บอร์ด PostgreSQL
1
121
พ 22 ก.ค. 2020 4:45 pm โดย mindphp
ข้อควรคิดเรื่องสถานที่จัดงาน ก่อนเลือกธีมงานแต่งงาน
โดย thongdeesmilesuk พ 22 ก.ค. 2020 12:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
80
พ 22 ก.ค. 2020 12:30 pm โดย thongdeesmilesuk
ทำความรู้จักกับ Apache Hadoop
โดย moo1997 อ 21 ก.ค. 2020 5:42 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
80
อ 21 ก.ค. 2020 5:42 pm โดย moo1997
Marketplace คืออะไร
โดย moo1997 อ 21 ก.ค. 2020 3:50 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
91
อ 21 ก.ค. 2020 3:50 pm โดย moo1997
สอบถามเรื่องการเปลี่ยนภาษาบน Linux
โดย moo1997 อ 21 ก.ค. 2020 2:10 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
136
อ 21 ก.ค. 2020 2:17 pm โดย thatsawan
การ insert ข้อมูลจาก textbox ลงในฐานข้อมูล โดยใช้ภาษา C#
โดย moo1997 อ 21 ก.ค. 2020 11:49 am บอร์ด Programming - C/C++ & java & Python
0
117
อ 21 ก.ค. 2020 11:49 am โดย moo1997
การเขียน php เชื่อมต่อกับฐานข้อมูล
โดย moo1997 อ 21 ก.ค. 2020 11:42 am บอร์ด PHP Knowledge
0
1021
อ 21 ก.ค. 2020 11:42 am โดย moo1997
การสร้าง JOptionPane ในการรับค่า
โดย moo1997 อ 21 ก.ค. 2020 10:53 am บอร์ด Microsoft Office Knowledge & line & Etc
0
81
อ 21 ก.ค. 2020 10:53 am โดย moo1997