⊗ppSpAiRs 52 of 83 menu

PHP'де REST API

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
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу