joebocock / launch-library-php-sdk
由 The Space Devs 开发的 Launch Library 2 的灵活 SDK。
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.8
- guzzlehttp/psr7: ^2.6
- psr/http-client: ^1.0
- psr/http-message: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.38
- pestphp/pest: ^2.24
- phpstan/phpstan: ^1.10
README
Launch Library PHP API SDK
一个简单的 PHP SDK,用于与 Launch Library 2 API 交互。
警告:此软件包仍在积极开发中,处于非常早期的阶段。
目录
简介
此 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。