PHP обертка для работы с API tourvisor.ru
Документация по API находится на диске.
Библиотека еще в разработке. Не стесняйтесь создавать issue
Установка в проект осуществляется при помощи composer:
$ composer require maxkut/tourvisor
Минимальные системные требования:
php: ^7.1.3
Логика работы с библиотекой проста - создается один объект ядра библиотеки с http клиентом, который имеет метод getResults
, принимающий единственный параметр - объект запроса из Tourvisor\Requests
. В каждом классе запроса есть docBlock с описанием параметров, которые можно передать в запрос.
use Tourvisor\Tourvisor;
use Tourvisor\Client;
// создаем объект ядра библиотеки с http клиентом
$tourvisor = new Tourvisor(new Client('login-in@tourvisor.ru', 'password'));
// ...
Создание поискового запроса:
use Tourvisor\Requests\SearchRequest;
// ... $tourvisor ...
$searchRequest = new SearchRequest();
$searchRequest->country = 30;
$searchRequest->departure = 1;
// остальные параметры можно узнать в docBlock класса запроса
$result = $tourvisor->getResult($searchRequest);
// В ответ придет идентификатор запроса, например 1015951847
Получение результатов поискового запроса:
use Tourvisor\Requests\SearchResultRequest;
// ... $tourvisor ...
$searchResultRequest = new SearchResultRequest();
// передаем обязательный параметр - идентификатор запроса
$searchResultRequest->requestid = 1015951847;
$result = $tourvisor->getResult($searchResultRequest);
Библиотека использует автоматическую регистрацию сервис-провайдера.
перед использованием добавльте две переменные в .env
файл:
TOURVISOR_LOGIN="login-in@tourvisor.ru"
TOURVISOR_PASSWORD="password"
Использование сервиса в контроллере
/**
* @param \Tourvisor\Tourvisor $tourvisor
* @param \Tourvisor\Requests\HotToursRequest $hotToursRequest
* @throws \Tourvisor\Exceptions\AuthorizeException
* @throws \Tourvisor\Exceptions\HasEmptyRequiredParamsException
* @throws \Tourvisor\Exceptions\ResponseException
*/
public function index(\Tourvisor\Tourvisor $tourvisor, \Tourvisor\Requests\HotToursRequest $hotToursRequest)
{
$hotToursRequest->items = 10;
$hotToursRequest->city = 1;
$result = $tourvisor->getResult($hotToursRequest);
return response($result);
}
Либо можно извлечь сервис из любого места приложения при помощи сервис-контейнера
$tourvisor = app('tourvisor');
// или
$tourvisor = app()->make('tourvisor');
Или использовать фасад Tourvisor
:
// ... сформировали $searchRequest
$result = \Tourvisor::getResult($searchRequest);
- Fork в свой аккаунт.
- Редактирование
- pull-request