⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել