alejandro-ap00/space-traders-php-sdk

PHP 空间交易者 SDK

v0.7.4 2024-06-30 22:43 UTC

README

Latest Version on Packagist Tests Total Downloads

这是一个 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)。请参阅 许可文件 了解更多信息。