1 | <?php |
||
22 | final class Client |
||
23 | { |
||
24 | /** |
||
25 | * Токен клиента |
||
26 | * |
||
27 | * @var string |
||
28 | */ |
||
29 | private $token = ''; |
||
30 | |||
31 | /** |
||
32 | * Конструктор экземпляра класса Client |
||
33 | * |
||
34 | * Экземпляр класса Client нужен для осуществления запросов к API. |
||
35 | * |
||
36 | * @param string $token Токен клиента |
||
37 | * |
||
38 | * Пример: |
||
39 | * ```php |
||
40 | * $token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика |
||
41 | * |
||
42 | * $client = new Client($token); // инициализация клиента |
||
43 | * ``` |
||
44 | * |
||
45 | * @throws Exception |
||
46 | */ |
||
47 | 19 | public function __construct($token) |
|
55 | |||
56 | /** |
||
57 | * Получение ответа сервера API |
||
58 | * |
||
59 | * Выполняется запрос к серверу API и получается ответ в формвте JSON |
||
60 | * |
||
61 | * @param array $request Данные для запроса (url, method) |
||
62 | * @param array $params Параметры запроса |
||
63 | * |
||
64 | * Пример: |
||
65 | * ```php |
||
66 | * $request = [ |
||
67 | * 'url' => '/1.0/resource/book/get/29), |
||
68 | * 'method' => 'GET', |
||
69 | * 'code' => 200 |
||
70 | * ]; |
||
71 | * |
||
72 | * $params = ['fields' => 'name,authors.isbn']; |
||
73 | * |
||
74 | * $response = $client->getResponse($request, $params); |
||
75 | * ``` |
||
76 | * |
||
77 | * @return array Ответ от сервера API приходит в формате JSON |
||
78 | * |
||
79 | * Пример: |
||
80 | * ```json |
||
81 | * { |
||
82 | * "type":"object", |
||
83 | * "data":{ |
||
84 | * "id":29, |
||
85 | * "name":"Курс теоретической механики", |
||
86 | * "authors":"Бутенин Н.В., Лунц Я.Л., Меркин Д.Р.", |
||
87 | * "isbn":"978-5-8114-0052-2" |
||
88 | * }, |
||
89 | * "count":1, |
||
90 | * "status":200, |
||
91 | * "message":"Ok" |
||
92 | * } |
||
93 | * ``` |
||
94 | * |
||
95 | * @throws Exception |
||
96 | */ |
||
97 | 10 | public function getResponse(array $request, array $params = array()) |
|
117 | } |