REST API ใน PHP
มีวิธีการพิเศษที่ได้มาตรฐาน สำหรับการสร้าง API เพื่อความสะดวก ร่วมกันทั้งสำหรับผู้พัฒนา API และผู้ใช้ API
หนึ่งในวิธีการดังกล่าวคือ REST API แนวคิดพื้นฐานของมันคือ สำหรับการดำเนินการ CRUD จำเป็นต้อง ใช้วิธีการต่างๆ ของโปรโตคอล HTTP
สำหรับการรับข้อมูล - ใช้วิธี GET, สำหรับการสร้างข้อมูล - วิธี POST, สำหรับการเปลี่ยนแปลงข้อมูล - วิธี PUT, สำหรับการลบข้อมูล - วิธี DELETE
สำหรับตัวอย่าง ลองพิจารณา API บางตัว ที่จัดการกับผู้ใช้ ลองดูว่า URL สำหรับการดำเนินการต่างๆ จะมีลักษณะอย่างไร
รับผู้ใช้ทั้งหมด:
GET http://api.loc/users/
รับผู้ใช้หนึ่งคนตาม id ของเขา:
GET http://api.loc/user/1/
สร้างผู้ใช้:
POST http://api.loc/user/
แก้ไขผู้ใช้ตาม id ของเขา:
PUT http://api.loc/user/1/
ลบผู้ใช้ตาม id ของเขา:
DELETE http://api.loc/user/1/
มาดูกันว่า REST API ถูกนำไปใช้ใน PHP อย่างไร มี ปัญหาบางอย่างตรงนี้ ความจริงก็คือ ทั้ง PHP และ CURL รองรับเฉพาะวิธี GET และ POST:
<?php
$method = $_SERVER['REQUEST_METHOD'];
var_dump($method); // เฉพาะ GET และ POST
?>
ดังนั้นสำหรับการนำ REST API ไปใช้ จะต้อง
ใช้เทคนิค ทฤษฎีของมันคือ
ในความเป็นจริงข้อมูลจะถูกส่ง
เฉพาะด้วยวิธี GET และ POST แต่เราจะ
จำลองการทำงานของวิธีอื่นๆ
โดยใช้ส่วนหัว HTTP ที่กำหนดเอง
ตั้งชื่อมันว่า เช่น HTTP-X-HTTP-METHOD
แล้วเราจะสามารถรับเนื้อหาของ ส่วนหัวนี้ได้ดังนี้:
<?php
$method = $_SERVER['HTTP-X-HTTP-METHOD'];
?>
ตอนนี้เราสามารถเขียนการนำ API ไปใช้ได้:
<?php
$method = $_SERVER['HTTP-X-HTTP-METHOD'];
switch ($method) {
case 'GET':
// ...
break;
case 'POST':
// ...
break;
case 'PUT':
// ...
break;
case 'DELETE':
// ...
break;
}
?>
นำ REST API สำหรับสินค้า ของร้านค้าออนไลน์ไปใช้งาน
ตรวจสอบการทำงานของ API ที่นำไปใช้ด้วยไลบรารี CURL