ให้เรตสมาชิก: 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
ฮิต
22565
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2015-12-09 22:25:04

JsonRPC.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 8.78 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เทคนิคทำธุรกิจอสังหาอย่างไรให้มีกำไร
โดย Patty Perfume อ 19 ม.ค. 2020 7:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
7
อ 19 ม.ค. 2020 7:12 pm โดย Patty Perfume
ความปลอดภัยด้านสุขภาพ เรื่องที่ทุกคนควรเริ่มต้นใฝ่หา
โดย medalezga อ 19 ม.ค. 2020 4:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
7
อ 19 ม.ค. 2020 4:30 pm โดย medalezga
วิธีการนำชื่อข้อมูลในชื่อในฐานข้อมูล ในไฟล์ XML ของ module joomla
โดย jamepiyawat ส 18 ม.ค. 2020 6:44 pm บอร์ด Joomla Developing Knowledge
0
27
ส 18 ม.ค. 2020 6:44 pm โดย jamepiyawat
วิธีการจัดทำการระบบแจ้้งเตือนใน phpbb
โดย Ittichai_chupol ส 18 ม.ค. 2020 5:42 pm บอร์ด PHP Knowledge
0
14
ส 18 ม.ค. 2020 5:42 pm โดย Ittichai_chupol
Pillow library ปรับขนาดรูปเป็นเปอร์เซ็นเพื่อนำไปใช้งานได้สะดวก
โดย benzas00123 ส 18 ม.ค. 2020 5:25 pm บอร์ด Python Knowledge
0
7
ส 18 ม.ค. 2020 5:25 pm โดย benzas00123
Pillow library Optimize รูปภาพเพื่อให้มีขนาดของข้อมูลที่เล็กลง
โดย benzas00123 ส 18 ม.ค. 2020 2:53 pm บอร์ด Python Knowledge
0
14
ส 18 ม.ค. 2020 2:53 pm โดย benzas00123
ตัวช่วยในการคำนวณแคลอรี่สำหรับผู้ที่รักการออกกำลังกาย
โดย prmindphp ส 18 ม.ค. 2020 11:50 am บอร์ด MindPHP News & Feedback
0
37
ส 18 ม.ค. 2020 11:50 am โดย prmindphp
เราจะเก็บรูปข้อมูลของรูปลง database เราจะใช้ data type อะไรครับ
โดย benzas00123 ส 18 ม.ค. 2020 11:31 am บอร์ด SQL - Database
2
35
ส 18 ม.ค. 2020 1:17 pm โดย benzas00123
อยากทราบวิธีการแก้ไขปัญหาการ อัพโหลดไฟล์ excel แล้วไม่รองรับภาษาไทย
โดย Ittichai_chupol ศ 17 ม.ค. 2020 5:58 pm บอร์ด Programming - PHP
6
40
ส 18 ม.ค. 2020 6:25 pm โดย Ittichai_chupol
ต้องการนับจำนวนอักษรเเละตัดอักษรที่เกิน มีปัญหากับภาษาไทย
โดย thatsawan ศ 17 ม.ค. 2020 5:18 pm บอร์ด Programming - C/C++ & java & Python
0
11
ศ 17 ม.ค. 2020 5:18 pm โดย thatsawan
สอบถามครับ ลูปค่าออกมาแล้วต้องการให้มันเก็บค่าในตัวแปร ต้องทำยังไงครับ
โดย chatee supasand ศ 17 ม.ค. 2020 3:51 pm บอร์ด Programming - C/C++ & java & Python
3
35
ศ 17 ม.ค. 2020 5:19 pm โดย thatsawan
อยากทราบวิธีก่ารเปิด exe ใน ubutu เวอชั่น 14
โดย Ittichai_chupol ศ 17 ม.ค. 2020 2:33 pm บอร์ด Programming - PHP
2
41
ศ 17 ม.ค. 2020 4:14 pm โดย Ittichai_chupol
วิธีการสร้างระบบชำระเงินด้วย omise โดยใช้ php
โดย Ittichai_chupol พฤ 16 ม.ค. 2020 6:53 pm บอร์ด PHP Knowledge
0
40
พฤ 16 ม.ค. 2020 6:53 pm โดย Ittichai_chupol
Pillow library กับการ เปลี่ยนนามสกุล img ทีเดียวหลายๆ file
โดย benzas00123 พฤ 16 ม.ค. 2020 5:45 pm บอร์ด Python Knowledge
0
23
พฤ 16 ม.ค. 2020 5:45 pm โดย benzas00123
Pillow library ในการจัดการและประมวลผลรูปภาพ
โดย benzas00123 พฤ 16 ม.ค. 2020 5:04 pm บอร์ด Python Knowledge
0
43
พฤ 16 ม.ค. 2020 5:04 pm โดย benzas00123
ความแตกต่างระหว่าง visibility: hidden; กับ display: none;
โดย Ittichai_chupol พ 15 ม.ค. 2020 6:44 pm บอร์ด CSS Knowledge
0
78
พ 15 ม.ค. 2020 6:44 pm โดย Ittichai_chupol
ตัวอย่าง การ Query ข้อมูลทีเป็นที่ได้ผลการค้นหา
โดย mindphp พ 15 ม.ค. 2020 6:40 pm บอร์ด Programming - C/C++ & java & Python
0
33
พ 15 ม.ค. 2020 6:40 pm โดย mindphp
สอบถามครับ ทำไมสร้างตารางฐานข้อมูลแล้ว มันไม่ใน ใน pg
โดย chatee supasand พ 15 ม.ค. 2020 5:55 pm บอร์ด Programming - C/C++ & java & Python
4
38
พ 15 ม.ค. 2020 6:07 pm โดย thatsawan
ขอสอบถาม error ของ flask ครับ
โดย benzas00123 พ 15 ม.ค. 2020 10:44 am บอร์ด Programming - C/C++ & java & Python
4
41
พ 15 ม.ค. 2020 10:53 am โดย benzas00123
สอบถาม code ของ Flask หน่อยครับว่ามันเอาไว้ใช้ทำอะไร
โดย benzas00123 อ 14 ม.ค. 2020 4:50 pm บอร์ด Programming - C/C++ & java & Python
3
56
พ 15 ม.ค. 2020 5:54 am โดย mindphp