PHP-তে REST API
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;
}
?>
ইন্টারনেট দোকানের পণ্যের REST API বাস্তবায়ন করুন।
CURL লাইব্রেরি ব্যবহার করে বাস্তবায়িত API-এর কাজ পরীক্ষা করুন।