إنشاء API بسيط في PHP

يُعد إنشاء واجهات برمجة التطبيقات (API) جزءًا أساسيًا من تطوير تطبيقات الويب الحديثة. باستخدام PHP، يمكنك بسهولة بناء API بسيطة للتفاعل مع البيانات من قاعدة بيانات أو نظام آخر. في هذا المقال، سنستعرض كيفية إنشاء API بسيط في PHP.

ما هو API؟

API (واجهة برمجة التطبيقات) هو وسيلة للتفاعل بين تطبيقات مختلفة، حيث يتيح لتطبيق ما إرسال واستقبال البيانات من وإلى تطبيق آخر. RESTful API، على سبيل المثال، تعتمد على بروتوكول HTTP وتستخدم طرقًا مثل GET وPOST وPUT وDELETE للتفاعل مع الموارد.

إنشاء بنية ملفات المشروع

لبدء إنشاء API بسيط، يجب أولاً إعداد بنية الملفات للمشروع. يمكن أن تكون البنية كالتالي:


/simple-api
├── /api
│ └── users.php
└── /config
└── database.php

هذه البنية تحتوي على مجلد api حيث سنضع ملفات API، ومجلد config لتخزين إعدادات قاعدة البيانات.

الاتصال بقاعدة البيانات

نبدأ بإنشاء ملف database.php في مجلد config لإعداد الاتصال بقاعدة البيانات باستخدام PHP وPDO.


<?php
# إعدادات قاعدة البيانات
$host = 'localhost';
$db_name = 'simple_api_db';
$username = 'root';
$password = '';

# إنشاء اتصال PDO
$conn = null;

try {
   $conn = new PDO("mysql:host=$host;dbname=$db_name", $username, $password);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
   echo 'Connection error: ' . $e->getMessage();
}
?>

هذا الكود ينشئ اتصالًا بقاعدة البيانات باستخدام PDO. إذا كان الاتصال ناجحًا، يمكننا الانتقال إلى الخطوة التالية.

إنشاء نقطة نهاية API

الآن، نقوم بإنشاء ملف users.php في مجلد api، والذي سيكون نقطة نهاية API. سنبدأ بإنشاء دالة لعرض جميع المستخدمين من قاعدة البيانات.


<?php
# تضمين ملف الاتصال بقاعدة البيانات
require_once('../config/database.php');

# تحديد نوع الاستجابة كـ JSON
header('Content-Type: application/json');

# التحقق من طريقة الطلب HTTP
$method = $_SERVER['REQUEST_METHOD'];

# استنادًا إلى الطريقة، يمكننا تنفيذ عمليات مختلفة
switch ($method) {
   # التعامل مع طلب GET لقراءة بيانات المستخدمين
   case 'GET':
      # استعلام لجلب جميع المستخدمين
      $stmt = $conn->prepare('SELECT * FROM users');
      $stmt->execute();
      $users = $stmt->fetchAll(PDO::FETCH_ASSOC);
      # عرض النتائج بصيغة JSON
      echo json_encode($users);
      break;
   default:
      echo '{"message": "Request method not supported"}';
}
?>

في هذا الكود، نستخدم طلب GET لجلب جميع المستخدمين من قاعدة البيانات وعرضهم بصيغة JSON. يمكننا توسيع هذا API لدعم طلبات POST وPUT وDELETE للتفاعل مع بيانات المستخدمين بشكل كامل.

إضافة بيانات جديدة باستخدام POST

لإضافة بيانات جديدة إلى قاعدة البيانات، يمكننا استخدام طريقة POST. سنقوم بتحديث users.php لدعم هذه العملية.


case 'POST':
   # الحصول على البيانات من الجسم
   $data = json_decode(file_get_contents('php://input'), true);

   # استعلام لإدخال بيانات جديدة
   $stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
   $stmt->bindParam(':name', $data['name']);
   $stmt->bindParam(':email', $data['email']);

   # تنفيذ الاستعلام
   if ($stmt->execute()) {
      echo '{"message": "User created successfully"}';
   } else {
      echo '{"message": "Failed to create user"}';
   }
   break;

هذا القسم من الكود يسمح بإضافة مستخدم جديد إلى قاعدة البيانات باستخدام طلب POST. يتم الحصول على البيانات من الجسم (body) وتحويلها من JSON إلى مصفوفة PHP.

اختبار الـ API

يمكنك اختبار API باستخدام أدوات مثل Postman أو cURL. على سبيل المثال، يمكنك إرسال طلب GET للحصول على جميع المستخدمين، أو طلب POST لإضافة مستخدم جديد.

الخلاصة

إنشاء API بسيط باستخدام PHP هو خطوة أساسية لتطوير تطبيقات ويب حديثة. مع وجود اتصال بقاعدة البيانات واستخدام طرق HTTP مثل GET وPOST، يمكنك بناء واجهة برمجة تطبيقات قوية تدعم العديد من العمليات التفاعلية. يمكنك توسيع هذا API لدعم المزيد من العمليات مثل التحديث (PUT) والحذف (DELETE) لإدارة الموارد بشكل كامل.