⊗ppSpAiRs 52 of 83 menu

PHP-də REST API

Ümumi rahatlıq üçün həm API developerləri, həm də onun istifadəçiləri üçün API-ni standartlaşdıran xüsusi yanaşmalar mövcuddur.

Belə yanaşmalardan biri də REST API-dir. Onun əsasında CRUD əməliyyatları üçün müxtəlif HTTP protokol metodlarından istifadə etmək lazım olduğu fikri durur.

Məlumat əldə etmək üçün - GET metodu, məlumat yaratmaq üçün - POST metodu, məlumatı dəyişmək üçün - PUT metodu, məlumatı silmək üçün - DELETE metodu.

Nümunə olaraq, istifadəçilərlə işləyən müəyyən bir API-ni nəzərdən keçirək. Müxtəlif əməliyyatlar üçün URL-lərin necə görünəcəyinə baxaq.

Bütün istifadəçiləri əldə edirik:

GET http://api.loc/users/

Bir istifadəçini onun id ilə əldə edirik:

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

Istifadəçi yaradırıq:

POST http://api.loc/user/

Istifadəçini onun id ilə dəyişirik:

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

Istifadəçini onun id ilə silirik:

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

Gəlin, REST API-nin PHP-də necə realizə olunduğuna baxaq. Burada müəyyən bir problem var. Məsələ ondadır ki, həm PHP, həm də CURL yalnız GET və POST metodlarını dəstəkləyir:

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // yalnız GET və POST ?>

Ona görə də REST API-ni həyata keçirmək üçün hiylə işlətmək lazımdır. Onun mahiyyəti ondadır ki, reallıqda məlumatlar yalnız GET və POST metodları ilə ötürüləcək, amma biz digər metodların işini xüsusi HTTP başlığı vasitəsilə taklid edəcəyik. Onu, məsələn, HTTP-X-HTTP-METHOD adlandıraq.

O zaman biz bu başlığın məzmununu aşağıdakı kimi əldə edə biləcəyik:

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

İndi biz API-nin realizasiyasını yaza bilərik:

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

Internet mağazasının məhsul REST API-ni realizə edin.

Həyata keçirilmiş API-nin işini CURL kitabxanası vasitəsilə yoxlayın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et