openpublicmedia / roisolutions-php
ROI Solutions API 的 PHP 客户端。
0.9.1
2024-05-11 13:08 UTC
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^6.0 || ^7.0
Requires (Dev)
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.4
- tochka-developers/array-file-cache: ^3.1
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。