প্লেইন পিএইচপি ব্যবহার করে এপিআই তৈরি

পিএইচপি এর একটা সুবিধা হচ্ছে বেশির ভাগ সার্ভারেই পিএইচপি ইন্সটল করা থাকে। আর পিএইচপি ফাইলটা যে কোন ডিরেক্টরিতে আপলোড করে দিলেই কাজ করে। তো সিম্পল এপিআই রেসপন্স প্লেইন পিএইচপি দিয়েই করা যায়। যার জন্য আলাদা কোন সেটআপের দরকার হয় না। কিভাবে পিএইচপি প্রোগ্রাম লোকাল কম্পিউটারে রান করা যাবে, তা জানা যাবে এই লেখা থেকে। আমরা দেখি কিভাবে সিম্পল API রেসপন্স তৈরি করা যায়।

GET API তৈরিঃ

নিচের কোড লক্ষ্য করিঃ

<?php
// Create an associative array with the data
$data = [
    "id" => 1,
    "name" => "Item 1",
    "description" => "Description of item 1",
    "price" => 10.99
];

// Output the JSON-encoded data
echo json_encode($data);

এখানে একটা পিএইচপি অ্যারে কে আমরা json_encode করে রিটার্ণ করেছি। এতই সিম্পল। যা JSON আউটপুট দিবে এমনঃ

{
  "id": 1,
  "name": "Item 1",
  "description": "Description of item 1",
  "price": 10.99
}

উপরে একটা সিঙ্গেল আইটেম রেসপন্স হিসেবে আউটপুট দিবে। আমরা চাইলে টেস্ট করার জন্য একাধিক রেসপন্স আউটপুট দিতে পারি:

<?php
// Generate an array of 100 items
$items = array_map(function($i) {
    return [
        'id' => $i + 1,
        'name' => "Item " . ($i + 1),
        'description' => "Description of item " . ($i + 1),
        'price' => number_format(mt_rand(0, 2000) / 100, 2) // Random price between 0.00 and 20.00
    ];
}, range(0, 99));


// Output the JSON-encoded data
echo json_encode($items);

কম্পিউটারে পিএইচপি ইন্সটল করা থাকলে খুব সহজে লোকাল কম্পিউটারেই টেস্ট করতে পারি। যেমন উপরের কোড গুলো index.php ফাইলে লিখে কমান্ডলাইন অথবা টার্মিনালে ঐ নির্দিষ্ট ফোল্ডার ন্যাভিগেট করে নিচের কমান্ড লিখব। তাহলে পিএইচপি এর বিল্টইন সার্ভার চালু হবে।

php -S localhost:8000

এরপর ব্রাউজারে http://localhost:8000 লিখলে index.php রান হবে। এবং আমরা আউটপুট পাবো।

POST API তৈরি

POST রেসপন্স তৈরি করার জন্য রিকোয়েস্ট মেথড হিসেবে POST সেট করতে হবে। এরপর API কল করার সময় যে ডেটা পাঠাবে, তা রিড করতে হবে। যেমন নিচে একটা সিম্পল POST API এন্ডপয়েন্ট তৈরির উদাহরণ দেওয়া হলো। এখানে ইনপুট হিসেবে name নিবে। এবং রেসপন্স হিসেবে Hello $name রিটার্ণ করবে।

<?php
// Set the content type to application/json
header('Content-Type: application/json');

// Check if the request method is POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Get the raw POST data
    $input = file_get_contents('php://input');
    
    // Decode the JSON input into an associative array
    $data = json_decode($input, true);

    // Check if the name is set in the received data
    if (isset($data['name']) && !empty($data['name'])) {
        // Retrieve the name from the data
        $name = htmlspecialchars($data['name']); // Sanitize the input to prevent XSS

        // Create a response message
        $response = [
            'message' => "Hello, $name!"
        ];
    } else {
        // Handle missing or empty name
        $response = [
            'error' => 'Name is required.'
        ];
    }
    // Return the response as JSON
    echo json_encode($response);
} else {
    // Handle non-POST requests
    echo json_encode(['error' => 'Only POST requests are allowed.']);
}

উপরের ফাইলের নাম যদি দেই greetings.php তাহলে http://localhost:8000/greetings.php URL ব্যবহার করে উপরের কোড রান করতে পারব।

পোস্ট রিকোয়েস্ট ব্রাউজারে টেস্ট করা যায় না। তা টেস্ট করতে পারি যে কোন API টেস্টিং সফটওয়ার ব্যবহার করে। যেমন পোস্টম্যান ব্যবহার করতে পারি। পোস্টম্যান কিভাবে ব্যবহার করা যায়, তা নিয়ে বিস্তারিত একটা লেখা লিখেছি রেস্ট এপিআই টেস্ট করার জন্য পোস্টম্যান নামে। তা দেখে পোস্ট রিকোয়েস্ট করা যাবে।

2 thoughts on “প্লেইন পিএইচপি ব্যবহার করে এপিআই তৈরি”

Leave a Reply