maxkut/tourvisor

与tourvisor.ru的集成

v0.4.4 2019-06-18 08:35 UTC

README

PHP包装,用于操作tourvisor.ru的API

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);

集成

Laravel >= 5.5

库使用自动注册服务提供者。

在使用前,请将两个变量添加到.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