<?php
/**
* @param string $method Метод (GET|POST|PUT|DELETE)
* @param string $url URL запроса
* @param array $data Тело запроса (POST, PUT)
* @param array $gets Дополнителные GET-параметры
*
* @return mixed
*/
function callRestApi($method, $url, $data = [], $gets = [])
{
$curl = curl_init();
switch (strtolower($method)) {
case 'post':
curl_setopt($curl, CURLOPT_POST, 1);
if ($data) {
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
break;
case 'put':
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['X-HTTP-Method-Override: PUT']);
if ($data) {
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
}
break;
case 'delete':
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['X-HTTP-Method-Override: DELETE']);
break;
}
if ($gets) {
$url = sprintf("%s?%s", $url, http_build_query($gets));
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
Чтобы увидеть комментарии, нужно быть участником сообщества
Регистрация