germania-kg/fabricsapi-client

德国亚麻的 Fabrics API 的 HTTP 客户端

4.1.1 2023-01-30 09:15 UTC

This package is auto-updated.

Last update: 2024-09-16 13:43:10 UTC


README

德国亚麻 KG · FabricsAPI 客户端

Packagist PHP version Tests

安装

composer require germania-kg/fabricsapi-client "^4.0"

实例化

FabricsApiClient 需要带有配置好的 API 基础 URL 的 Guzzle 客户端

<?php
use Germania\FabricsApiClient\FabricsApiClient;

$guzzle = new \GuzzleHttp\Client([
  // Note the trailing slash!
  'base_uri' => "https://path/to/api/"
]);

$reader = new FabricsApiClient($guzzle);

缓存结果

为了更好的性能,可以使用 PSR-6 CacheItemPool 来缓存结果。 CacheFabricsApiClient 包装了上面的 FabricsApiClient:

<?php
use Germania\FabricsApiClient\CacheFabricsApiClient;

$api_reader = new FabricsApiClient($guzzle);
$psr6 = ...;
$lifetime = 86400;

$reader = new CacheFabricsApiClient($api_reader, $psr6, $lifetime);

用法

读取所有亚麻

// iterable
$all_fabrics = $reader->collection("anyCollection");

// Sort by pattern
$all_fabrics = $reader->collection("anyCollection", null, "pattern");

搜索亚麻

// iterable
$matching_fabrics = $reader->collection("anyCollection", "seaflower");

// Sort by pattern
$matching_fabrics = $reader->collection("anyCollection", "seaflower", "pattern");

读取单个亚麻

// Germania\Fabrics\FabricInterface
$single = reader->fabric("anyCollection", "1-2345");

单元测试

phpunit.xml.dist 复制到 phpunit.xml 并根据您的需求进行适配。获取德国亚麻的 Fabrics API URL 和收集 slug,否则单元测试将失败并要求错误的 API…

<php>
  <env name="FABRICS_API" value="https://api.test.com/" />
  <env name="FABRICS_SLUG" value="duette" />
  <env name="FABRIC_NUMBER" value="1-2345" />
</php>

运行 PhpUnit 测试或 composer 脚本如下:

$ composer test
# or
$ vendor/bin/phpunit