cryptoweb / infoflot-api
Infoflot REST API 的 PHP 客户端
0.1.3
2024-07-06 11:00 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.0 | ^7.0
README
警告
此包处于早期开发阶段!
描述
注意
基本文档: https://restapi.infoflot.com/docs
安装
composer require cryptoweb/infoflot-api
集成
我们提供了用于简单集成的 Laravel 包: cryptoweb/infoflot-laravel
使用
客户端初始化
require 'vendor/autoload.php'; use CryptoWeb\InfoflotApi\Client; use CryptoWeb\InfoflotApi\ClientOptions; $client = new Client( new GuzzleHttp\Client(), new ClientOptions( apiKey: 'your-api-key', ) );
工厂
use CryptoWeb\InfoflotApi\Enums\ShipTypeAsOnMainSiteEnum; use CryptoWeb\InfoflotApi\Factory; $infoflot = new Factory($client); $infoflot->cruises() ->type(ShipTypeAsOnMainSiteEnum::TURKISH_RIVERA) ->nights(5) ->get(); $infoflot->cruises(100500) ->get(); $infoflot->cruises(100500) ->cabins() ->get(); $infoflot->cruises(100500) ->cabins() ->search() ->get(); // etc...
构建器
use CryptoWeb\InfoflotApi\Builders\Cruises; use CryptoWeb\InfoflotApi\Builders\CruisesId; use CryptoWeb\InfoflotApi\Builders\CruisesIdCabins; use CryptoWeb\InfoflotApi\Builders\CruisesIdCabinsSearch; use CryptoWeb\InfoflotApi\Enums\CruiseTypeEnum; // get all cruises $cruisesBuilder = new Cruises($client); $cruisesBuilder->type(CruiseTypeEnum::RIVER) $cruisesBuilder->nights(5); $cruisesResult = $cruisesBuilder->get(); // or $cruisesResult = (new Cruises($client)) ->type(CruiseTypeEnum::SEA) ->nights(5, 6, 7) ->get(); // get cruise by id $cruiseBuilder = new CitiesId($client); $cruiseBuilder->id(311); $cruiseResult = $cruiseBuilder->get(); // get cruise cabins by id $cruiseCabinsResult = (new CruisesIdCabins($client)) ->id(311) ->get(); // etc...
基本使用
$result = $client->request('cruises', [ 'ship' => '311,312,400', 'type' => 'sea' ]);
许可协议
MIT 许可协议 (MIT)。请参阅 LICENSE 以获取更多信息。