germania-kg / fabricsapi-client
德国亚麻的 Fabrics API 的 HTTP 客户端
4.1.1
2023-01-30 09:15 UTC
Requires
- php: ^7.4|^8.0
- germania-kg/cachecallable: ^2.0
- germania-kg/fabrics: ^5.0
- germania-kg/response-decoder: ^1.0
- guzzlehttp/guzzle: ^6.0|^7.0
- psr/cache: ^1.0
- psr/log: ^1.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0|^3.0
- php-coveralls/php-coveralls: ^2.0
- phpspec/prophecy: ^1.16
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-16 13:43:10 UTC
README
德国亚麻 KG · FabricsAPI 客户端
安装
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