⊗ppSpAiRs 52 of 83 menu

REST API en PHP

Il existe des approches spéciales, qui standardisent les API pour le confort commun des développeurs d'API, ainsi que de ses utilisateurs.

L'une de ces approches est REST API. Son fondement est l'idée que pour les opérations CRUD, il est nécessaire d'utiliser différentes méthodes du protocole HTTP.

Pour obtenir des données - la méthode GET, pour créer des données - la méthode POST, pour modifier des données - la méthode PUT, pour supprimer des données - la méthode DELETE.

Par exemple, considérons une API quelconque, manipulant des utilisateurs. Regardons à quoi ressembleront les URL pour diverses actions.

Obtenir tous les utilisateurs :

GET http://api.loc/users/

Obtenir un utilisateur par son id :

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

Créer un utilisateur :

POST http://api.loc/user/

Modifier un utilisateur par son id :

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

Supprimer un utilisateur par son id :

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

Voyons comment REST API est implémenté en PHP. Il y a un certain problème ici. Le fait est que PHP et CURL ne prennent en charge que les méthodes GET et POST :

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // seulement GET et POST ?>

Par conséquent, pour implémenter REST API, il faudra recourir à une astuce. Son essence est que en réalité, les données ne seront transmises que par les méthodes GET et POST, mais nous simulerons le travail d'autres méthodes à l'aide d'un en-tête HTTP personnalisé. Appelons-le, par exemple, HTTP-X-HTTP-METHOD.

Alors nous pourrons obtenir le contenu de cet en-tête de la manière suivante :

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; ?>

Maintenant nous pouvons écrire l'implémentation de l'API :

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; switch ($method) { case 'GET': // ... break; case 'POST': // ... break; case 'PUT': // ... break; case 'DELETE': // ... break; } ?>

Implémentez une REST API pour les produits d'une boutique en ligne.

Testez le fonctionnement de l'API implémentée à l'aide de la bibliothèque CURL.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser