PHP-de REST API
API üçin, hem API öndürijileriň, hem-de onuň ulanjylarynyň umumy amatlylygy üçin standartlaşdyrylan aýratyn ýörelgeler bar.
Şeýle ýörelgeleriň biri REST API-dir. Onuň esasynda CRUD amallary üçin HTTP protokolyň türli usullaryny ulanmak gerek diýen pikiri ýatýar.
Maglumat almak üçin - GET usuly, maglumat döretmek üçin - POST usuly, maglumat üýtgetmek üçin - PUT usuly, maglumat pozmak üçin - DELETE usuly.
Mysal üçin, ulanyjylar bilen işleýän bir API-ny gözden geçireli. Dürli hereketler üçin URL-leriň nähili görünjekdigine seredeli.
Ähli ulanyjylary alyş:
GET http://api.loc/users/
Bir ulanyjyny onuň id boýunça alyş:
GET http://api.loc/user/1/
Ulanyjy döretmek:
POST http://api.loc/user/
Ulanyjyny onuň id boýunça üýtgetmek:
PUT http://api.loc/user/1/
Ulanyjyny onuň id boýunça pozmak:
DELETE http://api.loc/user/1/
Geliň, REST API-niň PHP-de nähili amala aşyrylandygyna seredeli. Bu ýerde käbir kynçylyk bar. Sebäbi, hem PHP, hem CURL diňe GET we POST usullaryny goldaýar:
<?php
$method = $_SERVER['REQUEST_METHOD'];
var_dump($method); // diňe GET we POST
?>
Şonuň üçin REST API amala aşyrmak üçin aýlaw ýol ulanmaly. Onuň mazmuny şonda,
aslynda maglumatlar diňe GET we POST usullary bilen iberiler, ýöne biz beýleki
usullaryň işini ýörite HTTP sözbaşysy arkaly ýasarys.
Ona, mysal üçin, HTTP-X-HTTP-METHOD diýip at belleris.
Şonda bu sözbaşynyň mazmunyny aşakdaky ýaly alyp bileris:
<?php
$method = $_SERVER['HTTP-X-HTTP-METHOD'];
?>
Indi biz API-niň amala aşyrylyşyny ýazyp bileris:
<?php
$method = $_SERVER['HTTP-X-HTTP-METHOD'];
switch ($method) {
case 'GET':
// ...
break;
case 'POST':
// ...
break;
case 'PUT':
// ...
break;
case 'DELETE':
// ...
break;
}
?>
Internet dükanynyň önümleriniň REST API-sini amala aşyryň.
Amala aşyrylan API-niň işini CURL kitaphanasy arkaly barlap görüň.