⊗ppSpAiRs 52 of 83 menu

REST API në PHP

Ekzistojnë qasje të veçanta, që standardizojnë API për lehtësi të përgjithshme si për zhvilluesit e API, ashtu edhe për përdoruesit e tij.

Një nga këto qasje është REST API. Në themel të saj qëndron ideja, që për operacionet CRUD është e nevojshme të përdoren metoda të ndryshme të protokollit HTTP.

Për marrjen e të dhënave - metoda GET, për krijimin e të dhënave - metoda POST, për ndryshimin e të dhënave - metoda PUT, për fshirjen e të dhënave - metoda DELETE.

Për shembull, le të shqyrtojmë një API të caktuar, që manipulon përdorues. Le të shohim, si do të duken URL për veprime të ndryshme.

Marrim të gjithë përdoruesit:

GET http://api.loc/users/

Marrim një përdorues sipas id të tij:

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

Krijojmë përdorues:

POST http://api.loc/user/

Ndryshojmë përdorues sipas id të tij:

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

Fshijmë përdorues sipas id të tij:

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

Le të shohim se si REST API implementohet në PHP. Këtu ka një problem të caktuar. Çështja është se si PHP, ashtu edhe CURL mbështesin vetëm metodat GET dhe POST:

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // vetëm GET dhe POST ?>

Prandaj, për të implementuar REST API do të duhet të përdorim një truk. Thelbi i tij qëndron në faktin që në realitet të dhënat do të transmetohen vetëm me metodat GET dhe POST, por ne do të imitojmë punën e metodave të tjera me ndihmën e një kokë HTTP të personalizuar. Le ta quajmë atë, për shembull, HTTP-X-HTTP-METHOD.

Atëherë ne do të mund të marrim përmbajtjen e kësaj koke si më poshtë:

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

Tani ne mund të shkruajmë implementimin e API:

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

Implementoni REST API për produktet e një dyqani online.

Testoni funksionimin e API-së së implementuar me ndihmën e bibliotekës CURL.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo