⊗ppSpAiRs 52 of 83 menu

REST API in PHP

Er zijn speciale benaderingen die API standaardiseren voor het algemene gemak van zowel API-ontwikkelaars als zijn gebruikers.

Een van dergelijke benaderingen is REST API. De basisidee is dat voor CRUD-bewerkingen verschillende methoden van het HTTP-protocol moeten worden gebruikt.

Voor het ophalen van gegevens - de GET-methode, voor het aanmaken van gegevens - de POST-methode, voor het wijzigen van gegevens - de PUT-methode, voor het verwijderen van gegevens - de DELETE-methode.

Laten we als voorbeeld een API bekijken die gebruikers beheert. Laten we kijken hoe de URL's voor verschillende acties eruit zullen zien.

Alle gebruikers ophalen:

GET http://api.loc/users/

Een gebruiker ophalen op basis van zijn id:

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

Een gebruiker aanmaken:

POST http://api.loc/user/

Een gebruiker wijzigen op basis van zijn id:

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

Een gebruiker verwijderen op basis van zijn id:

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

Laten we eens kijken hoe REST API wordt geïmplementeerd in PHP. Er is een zeker probleem. Feit is dat zowel PHP als CURL alleen de GET- en POST-methoden ondersteunen:

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

Daarom moeten we een list gebruiken voor de implementatie van REST API. De essentie ervan is dat in werkelijkheid gegevens alleen worden doorgegeven via GET- en POST-methoden, maar we zullen het werk van andere methoden simuleren met behulp van een aangepaste HTTP-header. Laten we deze bijvoorbeeld HTTP-X-HTTP-METHOD noemen.

Dan kunnen we de inhoud van deze header als volgt verkrijgen:

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

Nu kunnen we de API-implementatie schrijven:

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

Implementeer een REST API voor producten van een webwinkel.

Test de werking van de geïmplementeerde API met behulp van de CURL-bibliotheek.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren