gamepanelio/spiget-api

Spiget.org API 的 PHP 实现

0.2.0 2017-09-09 20:40 UTC

This package is not auto-updated.

Last update: 2024-09-15 03:34:26 UTC


README

这个库是 Spiget.org API 的基本 PHP 实现。

安装

这个库使用了 HTTPlug HTTP 客户端抽象库 - 意味着你可以用你喜欢的 HTTP 库来使用它!

为了快速方便地在你的项目中使用这个库,通过 composer 运行以下命令

  composer require php-http/curl-client guzzlehttp/psr7 php-http/message gamepanelio/spiget-api

还有许多 不同的库 可以与 HTTPlug 一起使用。有关如何使用不同库的说明,请 参考 HTTPlug 文档

使用方法

简单地实例化一个 new Spiget() 类,并使用它提供的方法

<?php

use GamePanelio\SpigetApi\Spiget;

$spiget = new Spiget("My_cool_user_agent/1.0");

$response = $spiget->getResourceSearch(
    'search_param',
    [
        /* ... additional parameters ... */
    ]
);

返回数据

每个方法都返回一个 PSR-7 Response。

$response = $spiget->getResourcesList();

// To get the response data
var_dump($spiget->getResponseBodyFromJson($response));
// or
var_dump(json_decode($response->getBody(), true));


// To get the page count, etc
var_dump($response->getHeaderLine('X-Page-Count'));

API 错误和异常

任何不成功的响应(HTTP 状态码 <200>=300)将抛出 ApiCommunicationException

如果你使用的是抛出 PSR-7 错误的库(例如,Guzzle),它们将被包装,你可以通过 ->getPrevious() 方法访问 PSR-7 异常。

命名约定

Spiget 类提供的每个方法都有以下格式的命名约定

$spiget->[method-related-term][action]()

许可协议

此库受 MIT 许可协议许可。有关更多信息,请参阅 LICENSE 文件。