bitrimmer-coder/tourvisor-pack

与tourvisor.ru集成

dev-master 2019-09-24 12:54 UTC

README

PHP 对tourvisor.ru API的封装

API文档位于此处

该库仍在开发中。请随时创建问题

安装

使用 composer 在项目中安装

$ composer require bitrimmer-coder/tourvisor-pack

最小系统要求: php: ^7.1.3

使用

使用库的逻辑很简单 - 创建一个带有http客户端的核心库对象,该客户端具有一个接受来自 Tourvisor\Requests 的请求对象的 getResults 方法。每个请求类都有一个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