Comment écrire une API REST en PHP en 30 minutes : guide pas à pas pour débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Comment écrire une API REST en PHP en 30 minutes : pour débutants



Créer votre propre API REST est une étape importante pour tout développeur web. Une API permet à votre application de communiquer avec d'autres services, applications mobiles ou le frontend. Dans cet article, nous allons voir comment écrire une API REST simple mais complète en PHP pur en seulement 30 minutes. Vous apprendrez à gérer les requêtes HTTP, à travailler avec JSON et à connecter une base de données. Pas de frameworks — seulement du PHP pur et des exemples clairs.



Qu'est-ce qu'une API REST et pourquoi en a-t-on besoin ?



REST (Representational State Transfer) est un style architectural pour créer des services web. Une API construite selon les principes REST utilise les méthodes HTTP standard pour travailler avec des ressources :



  • GET — récupération de données (par exemple, liste d'utilisateurs) ;
  • POST — création d'une nouvelle ressource ;
  • PUT — mise à jour d'une ressource existante ;
  • DELETE — suppression d'une ressource.


Dans le développement web moderne, l'API REST est utilisée partout : des applications mobiles aux microservices. En apprenant à la créer en PHP, vous pourrez rapidement intégrer vos projets avec n'importe quel client.



Étape 1 : Configuration de la structure du projet



Avant d'écrire du code, créez une structure de fichiers simple. Pour notre API, nous n'aurons besoin que de quelques fichiers :



  • index.php — le point d'entrée qui traitera toutes les requêtes ;
  • .htaccess — pour rediriger toutes les requêtes vers index.php (si vous utilisez Apache) ;
  • config.php — paramètres de connexion à la base de données (optionnel).


Créez le fichier .htaccess dans le dossier racine du projet :



RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php [QSA,L]


Ce code redirige toutes les requêtes qui ne pointent pas vers des fichiers existants vers index.php. Désormais, notre API traitera toutes les URL, par exemple /api/users ou /api/users/1.



Étape 2 : Création du routeur et traitement des requêtes



Ouvrez le fichier index.php et écrivez la logique de routage de base. Nous allons déterminer la méthode HTTP et l'URL, puis appeler les fonctions correspondantes.



<?phpheader("Content-Type: application/json; charset=UTF-8");header("Access-Control-Allow-Origin: *");header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE");header("Access-Control-Allow-Headers: Content-Type, Authorization");

$method = $_SERVER['REQUEST_METHOD'];$request = explode('/', trim($_SERVER['PATH_INFO'] ?? '/', '/'));

// Routeur très simpleswitch ($request[0] ?? '') { case 'users': handleUsers($method, $request); break; default: http_response_code(404); echo json_encode(["message" => "Route not found"]); break;}

function handleUsers($method, $request) { $id = $request[1] ?? null; switch ($method) { case 'GET': if ($id) { // Récupérer un utilisateur echo json_encode(["message" => "Get user with id $id"]); } else { // Récupérer tous les utilisateurs echo json_encode(["message" => "Get all users"]); } break; case 'POST': $input = json_decode(file_get_contents("php://input"), true); echo json_encode(["message" => "Create user", "data" => $input]); break; case 'PUT': if ($id) { $input = json_decode(file_get_contents("php://input"), true); echo json_encode(["message" => "Update user with id $id", "data" => $input]); } else { http_response_code(400); echo json_encode(["message" => "ID is requ

Blogs

Book Recommendations