REST API ใน PHP

มีวิธีการพิเศษที่ได้มาตรฐาน สำหรับการสร้าง API เพื่อความสะดวก ร่วมกันทั้งสำหรับผู้พัฒนา API และผู้ใช้ API

หนึ่งในวิธีการดังกล่าวคือ REST API แนวคิดพื้นฐานของมันคือ สำหรับการดำเนินการ CRUD จำเป็นต้อง ใช้วิธีการต่างๆ ของโปรโตคอล HTTP

สำหรับการรับข้อมูล - ใช้วิธี GET, สำหรับการสร้างข้อมูล - วิธี POST, สำหรับการเปลี่ยนแปลงข้อมูล - วิธี PUT, สำหรับการลบข้อมูล - วิธี DELETE

สำหรับตัวอย่าง ลองพิจารณา API บางตัว ที่จัดการกับผู้ใช้ ลองดูว่า URL สำหรับการดำเนินการต่างๆ จะมีลักษณะอย่างไร

รับผู้ใช้ทั้งหมด:

urlGET http://api.loc/users/

รับผู้ใช้หนึ่งคนตาม id ของเขา:

urlGET http://api.loc/user/1/

สร้างผู้ใช้:

urlPOST http://api.loc/user/

แก้ไขผู้ใช้ตาม id ของเขา:

urlPUT http://api.loc/user/1/

ลบผู้ใช้ตาม id ของเขา:

urlDELETE http://api.loc/user/1/

มาดูกันว่า REST API ถูกนำไปใช้ใน PHP อย่างไร มี ปัญหาบางอย่างตรงนี้ ความจริงก็คือ ทั้ง PHP และ CURL รองรับเฉพาะวิธี GET และ POST:

api.loc/index.php<?php
  $method = $_SERVER['REQUEST_METHOD'];
  var_dump($method); // เฉพาะ GET และ POST
?>

ดังนั้นสำหรับการนำ REST API ไปใช้ จะต้อง ใช้เทคนิค ทฤษฎีของมันคือ ในความเป็นจริงข้อมูลจะถูกส่ง เฉพาะด้วยวิธี GET และ POST แต่เราจะ จำลองการทำงานของวิธีอื่นๆ โดยใช้ส่วนหัว HTTP ที่กำหนดเอง ตั้งชื่อมันว่า เช่น HTTP-X-HTTP-METHOD

แล้วเราจะสามารถรับเนื้อหาของ ส่วนหัวนี้ได้ดังนี้:

api.loc/index.php<?php
  $method = $_SERVER['HTTP-X-HTTP-METHOD'];
?>

ตอนนี้เราสามารถเขียนการนำ API ไปใช้ได้:

api.loc/index.php<?php
  $method = $_SERVER['HTTP-X-HTTP-METHOD'];
  
  switch ($method)  {
    case 'GET':
      // ...
    break;
    case 'POST':
      // ...
    break;
    case 'PUT':
      // ...
    break;
    case 'DELETE':
      // ...
    break;
  }
?>
Задание 1

นำ REST API สำหรับสินค้า ของร้านค้าออนไลน์ไปใช้งาน

Задание 2

ตรวจสอบการทำงานของ API ที่นำไปใช้ด้วยไลบรารี CURL