madmis/coingecko-api

Coingecko REST API php 客户端

1.0.0 2017-08-31 07:33 UTC

This package is auto-updated.

Last update: 2024-09-05 18:56:43 UTC


README

SensioLabsInsight Build Status Coverage Status Latest Stable Version Total Downloads License

此 API 客户端可以帮助您与 Coingecko 数据交互。

许可

MIT 许可证

贡献

要创建新的端点 - 创建问题创建拉取请求

安装

composer require madmis/coingecko-api 1.0.*

用法

$api = new CoingeckoApi();
$timestamp = $api->shared()->priceCharts(Api::BASE_ETH, Api::QUOTE_USD, Api::PERIOD_24HOURS, true));

映射

每个端点响应可以作为 arrayobject 接收。

要将映射响应设置为 object,请将参数 $mapping 设置为 true

$issue = $api->shared()->priceCharts(Api::BASE_ETH, Api::QUOTE_USD, Api::PERIOD_24HOURS, true));

// Result
[
    {
    class madmis\CoingeckoApi\Model\Price {
        protected $price => 379.62131925945
        protected $date => DateTime
      }
    
    },
    ...
] 

错误处理

每个客户端请求错误都被包装到自定义异常 madmis\ExchangeApi\Exception\ClientException

class madmis\ExchangeApi\Exception\ClientException {
  private $request => class GuzzleHttp\Psr7\Request
  private $response => NULL
  protected $message => "cURL error 7: Failed to connect to 127.0.0.1 port 8080: Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"
  ...
}

ClientException 包含原始 请求对象 和(如果有的话)响应对象

class madmis\ExchangeApi\Exception\ClientException {
  private $request => class GuzzleHttp\Psr7\Request 
  private $response => class GuzzleHttp\Psr7\Response {
    private $reasonPhrase => "Unauthorized"
    private $statusCode => 401
    ...
  }
  protected $message => "Client error: 401"
  ...  
}

运行测试

要运行测试,您需要安装 phpunit。最简单的方法是通过 composer。

composer install

运行单元测试

php vendor/bin/phpunit -c phpunit.xml.dist