brainsrage/tourvisor

与tourvisor.ru集成

v1.0.2 2022-10-15 14:15 UTC

This package is not auto-updated.

Last update: 2024-09-28 23:21:50 UTC


README

PHP包装用于操作tourvisor.ru API

API文档位于磁盘上。

库仍在开发中。请随时创建issue

安装

使用composer在项目中安装

$ composer require brainsrage/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