|
7 | 7 | Запросы выполняются в фоновом режиме, используя систему очередей Laravel. |
8 | 8 | На каждый ответ от API генерируется событие, на которое можно подписаться, обработать/сохранить полученные данные и, при необходимости, добавить новые запросы. |
9 | 9 |
|
10 | | -Благодаря такому подходу можно гибко выстраивать цепочки из нескольких взаимосвязанных запросов. |
| 10 | +Благодаря такому подходу можно гибко выстраивать цепочки из нескольких взаимосвязанных запросов, добавляя в очередь "дочерние" запросы при получении ответа от "родительского". |
11 | 11 |
|
12 | 12 | #### Например: |
13 | 13 | ```yaml |
|
30 | 30 |
|
31 | 31 | А благодаря автоматическому оборачиванию запросов в ["execute-запросы"](https://vk.com/dev/execute) (по 25 в каждом), выполнение происходит в разы быстрее и понижается вероятность превышения лимитов Vk.Com на кол-во и частоту запросов. |
32 | 32 |
|
| 33 | +## А можно я без очереди? Мне только спросить.. |
| 34 | +Конечно можно! В состав пакета входит простой и удобный API-клиент - [atehnix/vk-client](https://github.com/atehnix/vk-client), о возможностях которого можно узнать в его документации. |
| 35 | + |
| 36 | + Впрочем, можно и вовсе установить только его, если вам не нужны очереди запросов :). |
| 37 | + |
| 38 | + А если нужны, то продолжим: |
33 | 39 |
|
34 | 40 | ## Установка |
35 | 41 | ##### Для установки через [Composer](https://getcomposer.org/), выполнить: |
@@ -85,7 +91,11 @@ use ATehnix\LaravelVkRequester\Models\VkRequest; |
85 | 91 |
|
86 | 92 | class WallGetSubscriber extends Subscriber |
87 | 93 | { |
| 94 | + /** @var string Метод API запроса */ |
88 | 95 | protected $apiMethod = 'wall.get'; |
| 96 | + |
| 97 | + /** @var string Тэг запроса */ |
| 98 | + protected $tag = 'default'; |
89 | 99 |
|
90 | 100 | public function onSuccess(VkRequest $request, array $response) |
91 | 101 | { |
@@ -133,6 +143,7 @@ vk-requester.fail: wall.get #default |
133 | 143 |
|
134 | 144 | ## Контекст запросов |
135 | 145 | По-умолчанию, в имени события присутствует тэг `#default`. При добавлении запроса вы можете в атрибуте `tag` указать любое другое значение тега. Тэг позволяет добавить запросам дополнительный "признак", когда требуется отличать их от других запросов с тем же методом. |
| 146 | + |
136 | 147 | Кроме того, через атрибут запроса `context` можно передать массив с любыми дополнительными данными, которые вы сможете получить при обработке события (`$request->context`). |
137 | 148 |
|
138 | 149 | ## Где взять API токен? |
|
0 commit comments