⊗ppSpAiRs 52 of 83 menu

REST API в PHP

Съществуват специални подходи, които стандартизират API за общо удобство както на разработчиците на API, така и на неговите потребители.

Един от тези подходи е REST API. В основата му лежи идеята, че за CRUD операции е необходимо да се използват различни методи на протокола HTTP.

За получаване на данни - метод GET, за създаване на данни - метод POST, за промяна на данни - метод PUT, за изтриване на данни - метод DELETE.

За пример нека разгледаме дадено API, което манипулира потребители. Нека да видим как ще изглеждат URL адресите за различни действия.

Получаваме всички потребители:

GET http://api.loc/users/

Получаваме един потребител по неговото id:

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

Създаваме потребител:

POST http://api.loc/user/

Променяме потребител по неговото id:

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

Изтриваме потребител по неговото id:

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

Нека да видим как REST API се реализира в PHP. Тук има един проблем. Факт е, че както PHP, така и CURL поддържат само методи GET и POST:

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // само GET и POST ?>

Затова за реализация на REST API ще трябва да използваме хитрина. Същността й е, че в действителност данните ще се предават само с методите GET и POST, но ние ще имитираме работата на други методи с помощта на потребителски HTTP хедър. Нека го наречем, например, HTTP-X-HTTP-METHOD.

Тогава ще можем да получим съдържанието на този хедър по следния начин:

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

Сега можем да напишем реализацията на API:

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

Реализирайте REST API за продукти в онлайн магазин.

Проверете работата на реализираното API с помощта на библиотеката CURL.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне