moridisacks / priority-api
基于此文档的优先级软件API的PHP客户端
0.2.2
2020-12-14 21:41 UTC
Requires
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^6.5
- illuminate/support: ~5|~6|~7|~8
Requires (Dev)
- symfony/var-dumper: ^5.0
This package is auto-updated.
Last update: 2024-09-19 22:28:44 UTC
README
基于此文档的PHP客户端,用于优先级软件API
https://prioritysoftware.github.io/restapi/
安装
composer require mordisacks/priority-api
使用方法
设置
$client = new PriorityClient($serviceRootUrl);
身份验证
// Basic auth $client->withBasicAuth('username', 'password'); // App auth $client->withAppAuth('app_id', 'app_key');
$query = new Builder(); $query->setClient($client);
获取集合
$query->from('ORDER') ->select('A', 'B', 'C') ->filter('FOO', 'bar') ->orFilter('FOO', '!=', 'BAZ') ->expand('ITEMS_SUBFORM') ->top(3); // Outputs the raw query: ORDER?$select=A,B,C&$filter=FOO eq 'bar' or FOO ne 'BAZ'&$expand=ITEMS_SUBFORM&$top=3 $query->toQuery(); // Returns a collection of ORDERS $query->get();
获取单个实体
// Returns a single ORDER with the id of AA123456 $query->from('ORDERS')->find('AA123456');
过滤组
$query->filter(function (Filter $filter) { $filter->filter('B', 'something'); $filter->filter('C', 'something'); });
展开子查询
$query->expand('ITEMS', function (Builder $q) { $q->select('FIELD1', 'FIELD2', 'FIELD3') ->filter('FIELD1', 'Y') ->filter(function (Filter $filter) { $filter->filter('FIELD2', 'Y') ->orFilter('FIELD3', 'Y'); }); });
受Laravel Eloquant构建器启发