112 lines
3.3 KiB
PHP
112 lines
3.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace VK\Browsers;
|
|
|
|
|
|
/**
|
|
* Абстракция браузера
|
|
*
|
|
* @method public static api(string $method, ...$params) Запрос к API ВКонтакте
|
|
* @method protected static put(string $url, ...$params) Создать
|
|
* @method protected static post(string $url, ...$params) Изменить
|
|
* @method protected static get(string $url, ...$params) Получить
|
|
* @method protected static delete(string $url, ...$params) Удалить
|
|
*
|
|
* @package Browsers
|
|
* @author Arsen Mirzaev
|
|
*/
|
|
abstract class BrowserAbstract
|
|
{
|
|
/**
|
|
* Запрос к VK API
|
|
*
|
|
* @param string $method Метод VK API
|
|
* @param array $params Передаваемые параметры
|
|
*
|
|
* @return string
|
|
*/
|
|
public function api(string $method, array $params): array
|
|
{
|
|
$url = 'https://api.vk.com/method/' . $method;
|
|
|
|
// while (True) {
|
|
// try {
|
|
return $this->post($url, $params);
|
|
// } catch (Exception $e) {
|
|
// // if (in_array($e->getCode(), $this->request_ignore_error)) {
|
|
// // sleep(1);
|
|
// // continue;
|
|
// // } else
|
|
// // throw new Exception($e->getMessage(), $e->getCode());
|
|
// throw new Exception('Жопа');
|
|
// }
|
|
// }
|
|
}
|
|
|
|
/**
|
|
* Создать
|
|
*
|
|
* Для запросов на создание (REST)
|
|
* Реализация HTTP PUT
|
|
*
|
|
* @param string $url Запрашиваемая ссылка
|
|
* @param array $params Передаваемые параметры
|
|
*
|
|
* @return array Ответ сервера
|
|
*/
|
|
public static function put(string $url, array $params = null): array
|
|
{
|
|
return ['error' => 'Метод не поддерживается'];
|
|
}
|
|
|
|
/**
|
|
* Изменить
|
|
*
|
|
* Для запросов на изменение (REST)
|
|
* Реализация HTTP POST
|
|
*
|
|
* @param string $url Запрашиваемая ссылка
|
|
* @param array $params Передаваемые параметры
|
|
*
|
|
* @return array Ответ сервера
|
|
*/
|
|
public static function post(string $url, array $params = null): array
|
|
{
|
|
return ['error' => 'Метод не поддерживается'];
|
|
}
|
|
|
|
/**
|
|
* Получить
|
|
*
|
|
* Для запросов на получение (REST)
|
|
* Реализация HTTP GET
|
|
*
|
|
* @param string $url Запрашиваемая ссылка
|
|
* @param array $params Передаваемые параметры
|
|
*
|
|
* @return array Ответ сервера
|
|
*/
|
|
public static function get(string $url, array $params = null): array
|
|
{
|
|
return ['error' => 'Метод не поддерживается'];
|
|
}
|
|
|
|
/**
|
|
* Удалить
|
|
*
|
|
* Для запросов на удаление (REST)
|
|
* Реализация HTTP DELETE
|
|
*
|
|
* @param string $url Запрашиваемая ссылка
|
|
* @param array $params Передаваемые параметры
|
|
*
|
|
* @return array Ответ сервера
|
|
*/
|
|
public static function delete(string $url, array $params = null): array
|
|
{
|
|
return ['error' => 'Метод не поддерживается'];
|
|
}
|
|
}
|