friendzapp / orderz-php-sdk
此包最新版本(0.0.17)没有可用的许可信息。
orderz api-sdk
0.0.17
2020-01-08 14:06 UTC
Requires
- php: >=7.2.0
- ext-json: *
- ext-openssl: *
- guzzlehttp/guzzle: 6.3.3
- nesbot/carbon: 2.19.2
README
安装
composer require friendzapp/orderz-php-sdk
需求
- PHP >=
7.2
- guzzlehttp/guzzle =
6.3.3
- nesbot/carbon =
2.19.2
基本用法
use Friendz\Orderz\Api\Client as OrderzClient; use Friendz\Orderz\Api\Models\User as UserModel; use Friendz\Orderz\Api\Requests\CreateOrder as CreateOrderRequest; function foo(): array { $client = new OrderzClient('api-token'); return $client->getProducts(); } function bar(int $productId) { $client = new OrderzClient('api-token'); $orderRequest = new CreateOrderRequest; $orderRequest->externalId = 'your-unique-id'; $orderRequest->productId = $productId; $orderRequest->quantity = 1; $orderRequest->user = new UserModel( 'John', 'Doe', 'john.doe@email.com', 'Sesame Street, 1119' ); $client->createOrder($orderRequest); }
注意事项
两个API(createOrder
和 getProducts
)都可能抛出 ApiException
或 MalformedResponseException
异常。前者是通用API异常,后者描述了响应结构中的错误。
这两个异常都有一个名为 shouldRetry(): bool
的实用方法(在它们的父类中描述)。只有在该方法返回 true 时,应该重试失败的请求。
示例
function foo(int $productId) { /** * ... */ $shouldRetry = true; /* NB: Don't use this code in production! */ do { try { $response = $client->createOrder($orderRequest); $shouldRetry = false; } catch (ApiException | MalformedResponseException $e) { $shouldRetry = $e->shouldRetry(); } } while($shouldRetry); /* Use $response somehow */ }