alejandro-ap00 / space-traders-php-sdk
PHP 空间交易者 SDK
v0.7.4
2024-06-30 22:43 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- laravel/pint: ^1.0
- pestphp/pest: ^2.20
- spatie/ray: ^1.28
README
这是一个 PHP SDK,用于 SpaceTraders API。此包提供了一种表达性强的方式与所有可用端点交互。
安装
您可以通过 composer 安装此包
composer require alejandro-ap00/space-traders-php-sdk
用法
要开始使用,请创建 SDK 的一个实例
use AlejandroAPorras\SpaceTraders; $space_traders = new SpaceTraders('Your JWT bearer token');
处理分页
有几个方法,如 agents()
、contracts()
和 ships()
将返回分页结果。要获取下一页的结果,只需在结果上调用 next() 方法。如果没有更多结果,该方法返回 null。
在分页结果中,还有一些更方便的方法
results()
:获取结果。结果对象也是可迭代的,因此您也可以通过在循环中使用对象来获取结果next()
:获取下一页的结果previous()
:获取上一页的结果currentPage()
:获取当前页码total()
:获取所有页面上的总结果数totalPages()
:获取总页数nextPage()
:获取下一页的页码previousPage()
:获取上一页的页码
注册
您可以使用 register 方法生成新令牌
use AlejandroAPorras\SpaceTraders\Enums\FactionSymbol; $space_traders->register(FactionSymbol::COSMIC, 'T3ST_US3R', 'your@email.com')
获取 API 状态
$space_traders->getStatus();
管理合约
$space_traders->contracts(['page' => 1]); $space_traders->contract(string $contractId); $space_traders->acceptContract(string $contractId); $space_traders->deliverContract(string $contractId, string $shipSymbol, TradeGoodSymbol $tradeSymbol, int $units); $space_traders->fulfillContract(string $contractId);
在 Contract
实例上您可以调用
$contract->accept(); $contract->deliver(string $shipSymbol, TradeGoodSymbol $tradeSymbol, int $units); $contract->fulfill();
管理代理
$space_traders->agent(); $space_traders->agents(['page' => 1]); $space_traders->publicAgent(string $agent);
管理派系
$space_traders->factions(['page' => 1]); $space_traders->faction();
管理舰队
$space_traders->ships(['page' => 1]); $space_traders->purchaseShip(ShipType $shipType, string $waypointSymbol); $space_traders->ship(string $shipSymbol); $space_traders->shipCargo(string $shipSymbol); $space_traders->orbitShip(string $shipSymbol); $space_traders->refineShip(string $shipSymbol, ProduceType $produce); $space_traders->chartShip(string $shipSymbol); $space_traders->shipCooldown(string $shipSymbol); $space_traders->dockShip(string $shipSymbol); $space_traders->createSurvey(string $shipSymbol); $space_traders->extractResources(string $shipSymbol); $space_traders->createSurvey(string $shipSymbol); $space_traders->siphonResources(string $shipSymbol); $space_traders->extractResourcesWithSurvey(string $shipSymbol, Survey $survey); $space_traders->jettisonCargo(string $shipSymbol, TradeGoodSymbol $symbol, int $units); $space_traders->jumpShip(string $shipSymbol, string $waypointSymbol); $space_traders->navigateShip(string $shipSymbol, string $waypointSymbol); $space_traders->patchShipNav(string $shipSymbol, ShipNavFlightMode $flightMode); $space_traders->shipNav(string $shipSymbol); $space_traders->warpShip(string $shipSymbol, string $waypointSymbol); $space_traders->sellCargo(string $shipSymbol, TradeGoodSymbol $symbol, int $units); $space_traders->scanSystems(string $shipSymbol); $space_traders->scanWaypoints(string $shipSymbol); $space_traders->scanShips(string $shipSymbol); $space_traders->refuelShip(string $shipSymbol, int $units, bool $fromCargo = false); $space_traders->purchaseCargo(string $shipSymbol, TradeGoodSymbol $symbol, int $units); $space_traders->transferCargo(string $shipSymbol, TradeGoodSymbol $symbol, int $units, string $transferShipSymbol); $space_traders->negotiateContract(string $shipSymbol); $space_traders->shipMounts(string $shipSymbol); $space_traders->installShipMount(string $shipSymbol, string $mountSymbol); $space_traders->removeShipMount(string $shipSymbol, string $mountSymbol); $space_traders->scrapShipValue(string $shipSymbol); $space_traders->scrapShip(string $shipSymbol); $space_traders->repairShipValue(string $shipSymbol); $space_traders->repairShip(string $shipSymbol);
在 Ship
实例上您可以调用
$ship->cargo(); $ship->orbit(); $ship->refine(ProduceType $produce); $ship->chart(); $ship->cooldown(); $ship->dock(); $ship->survey(); $ship->extractResources(); $ship->siphonResources(); $ship->extractResourcesWithSurvey(Survey $survey); $ship->jettisonCargo(TradeGoodSymbol $tradeGoodSymbol, int $units); $ship->jump(string $waypointSymbol); $ship->navigate(string $waypointSymbol); $ship->patchNav(ShipNavFlightMode $flightMode); $ship->nav(); $ship->warp(string $waypointSymbol); $ship->sellCargo(TradeGoodSymbol $tradeGoodSymbol, int $units); $ship->scanSystems(); $ship->scanWaypoints(); $ship->scanShips(); $ship->refuel(int $units, bool $fromCargo = false); $ship->purchaseCargo(TradeGoodSymbol $tradeGoodSymbol, int $units); $ship->transferCargo(TradeGoodSymbol $tradeGoodSymbol, int $units, string $transferShipSymbol); $ship->negotiateContract(); $ship->mounts(); $ship->installMount(string $mountSymbol); $ship->removeMount(string $mountSymbol); $ship->scrapValue(); $ship->scrap(); $ship->repairValue(); $ship->repair();
管理星系
$space_traders->systems(['page' => 1]); $space_traders->system(string $systemSymbol); $space_traders->waypoints(string $systemSymbol, ['page' => 1]); $space_traders->waypoint(string $systemSymbol, string $waypointSymbol); $space_traders->market(string $systemSymbol, string $waypointSymbol); $space_traders->shipyard(string $systemSymbol, string $waypointSymbol); $space_traders->jumpGate(string $systemSymbol, string $waypointSymbol); $space_traders->construction(string $systemSymbol, string $waypointSymbol); $space_traders->supplyConstruction(string $systemSymbol, string $waypointSymbol, string $shipSymbol, TradeGoodSymbol $tradeSymbol, int $units);
在 System
实例上您可以调用
$system->waypoints();
以及在 Waypoint
实例上您可以调用
$waypoint->market(); $waypoint->shipyard(); $waypoint->jumpGate(); $waypoint->construction(); $waypoint->supplyConstruction(string $shipSymbol, TradeGoodSymbol $tradeSymbol, int $units);
测试
composer test
更新日志
请参阅 更新日志 了解最近更改的详细信息。
贡献
请参阅 贡献指南 了解详细信息。
安全漏洞
请查阅 我们的安全策略 了解如何报告安全漏洞。
致谢
许可
MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。