openpublicmedia/roisolutions-php

ROI Solutions API 的 PHP 客户端。

0.9.1 2024-05-11 13:08 UTC

This package is auto-updated.

Last update: 2024-09-11 13:45:42 UTC


README

此库抽象了与 ROI Solutions API 的交互。

实现的 API

安装

使用 composer 安装

composer require openpublicmedia/roisolutions-php

使用

REST API

OpenPublicMedia\RoiSolutions\Rest\Client 查询 REST API。

示例

创建客户端

use OpenPublicMedia\RoiSolutions\Rest\Client;

$userId = 'USER_ID';
$password = 'pAsSw0rD';
$clientCode = 'CLIENTCODE';

$client = new Client($userId, $password, $clientCode);

在创建客户端时提供缓存服务也是支持的(并且推荐)。如果客户端有缓存服务,它将用于缓存 API 提供的认证令牌,在令牌的生命周期内跨多个请求使用。

首选 PSR-16 兼容的接口,但任何提供 set($key, $value)get($key, $default) 方法的类都足够。

use OpenPublicMedia\RoiSolutions\Rest\Client;
use Tochka\Cache\ArrayFileCache;

$userId = 'USER_ID';
$password = 'pAsSw0rD';
$clientCode = 'CLIENTCODE';
$cache = new ArrayFileCache('.', 'my_awesome_cache');

$client = new Client($userId, $password, $clientCode, cache: $cache);

处理异常

提供了针对 404 响应和一般错误的自定义异常。这些异常中包含了 API 响应的附加信息。

use OpenPublicMedia\RoiSolutions\Rest\Exception\RequestException;

try {
    $results = $client->request('get', 'donors');
} catch (RequestException $e) {
    var_dump(get_class($e));
    var_dump($e->getMessage());
    var_dump($e->getCode());
    var_dump($e->getStatusCodeReported());
    var_dump($e->getTitle());
    var_dump($e->getDetail());
    var_dump($e->getInstanceCode());
    var_dump($e->getHelpLink());
}

开发目标

有关向此项目贡献的信息,请参阅 CONTRIBUTING

v1