joebocock/launch-library-php-sdk

由 The Space Devs 开发的 Launch Library 2 的灵活 SDK。

v0.3.1 2023-11-11 11:51 UTC

This package is auto-updated.

Last update: 2024-09-12 11:15:37 UTC


README

rocket

Launch Library PHP API SDK

一个简单的 PHP SDK,用于与 Launch Library 2 API 交互。

GitHub Workflow Status GitHub issues GitHub commit activity GitHub code size in bytes


警告:此软件包仍在积极开发中,处于非常早期的阶段。

目录


简介

此 PHP Composer 软件包提供了一个简单的 SDK,用于与 Launch Libraries API 交互,以满足您所有的空间数据需求!

此软件包无需配置即可直接使用。但是,如果您愿意,可以提供一个配置的 HTTP 客户端,前提是它遵循 PSR-18。


使用方法

此软件包尚未完成,但我正在积极开发中。我正逐步处理各种端点。要开始使用,请使用 Composer 安装软件包。


composer require joebocock/launch-library-php-sdk

通用使用非常简单,您可以在短时间内启动并运行。


use JoeBocock\LaunchLibrary\Client;

$client = new Client();

客户端具有多个配置选项。首先,您可以为 JoeBocock\LaunchLibrary\Enum\Url 提供一个值。这个枚举将确定在发起请求时使用哪个端点。其次,可以提供一个 JoeBocock\Enum\Version,用于确定应调用哪个 API 版本。最后,底层将使用 Guzzle 发起请求 - 但如果您有自己的 PSR-18 兼容的 HTTP 客户端,您可以在构建 Client 类时提供它。这在您需要事先配置客户端时非常有用。


use GuzzleHttp\Client as GuzzleClient;
use JoeBocock\LaunchLibrary\Client;
use JoeBocock\LaunchLibrary\Enum\Url;
use JoeBocock\LaunchLibrary\Enum\Version;

$client = new Client(
    Url::Development,
    Version::Latest,
    new GuzzleClient(),
);

主要客户端由子客户端组成。每当您想针对特定资源发起请求时,可以通过以下方式实现...


use JoeBocock\LaunchLibrary\Client;

$client = new Client();

$client->agency->list();

虽然我希望在使用过程中不会出现问题,但有时 Launch Library 可能会返回 4XX 或甚至 5XX。在这种情况下,Client 类会抛出两个不同的异常,以帮助识别问题。

当 HTTP 客户端产生问题时,将发生 LaunchLibraryRequestException。最后,当返回的响应无法正确填充到实体中时,将发生 LaunchLibraryResponseException


开发

作为只是一个软件包,它没有要求本地使用 Web 服务器。开发由一个非常简单的 Docker 容器提供动力,用于运行所有命令。

要开始使用,首先克隆存储库。提供了一个 Makefile,以便于命令处理...


# Build the container
make build

# Install Composer Dependencies
make install

# Run the test suite
make test

# Run static analysis
make stan

# Format the codebase
make format

# Lint the codebase
make lint

贡献

由于该软件包仍在开发中,尚未达到 v1 版本,因此我还没有编写任何贡献指南。但请不要因此停止!请随意fork代码库,感受一下风格,并提交一个PR。