戴夫的网站/bricklink-api

Bricklink API的PHP包装器

1.0.1 2022-07-20 17:43 UTC

README

Bricklink API的PHP SDK。此包提供了一种方便的与Bricklink API进行身份验证的方法,因此您可以直接对Bricklink API运行请求。此包还提供了一些存储库,以便更容易地进行面向对象的Bricklink API通信。

安装

composer require davesweb/bricklink-api

使用方法

以下示例仅是设置此包的基本用法。请阅读完整文档,了解如何使用此包的更多详细和高级示例以及如何扩展此包。

身份验证

首先,使用从Bricklink获取的秘密和令牌创建一个配置对象。

<?php

use Davesweb\BrinklinkApi\BricklinkConfig;

$config = new BricklinkConfig('consumerKey', 'consumerSecret', 'tokenValue', 'tokenSecret');

可选地,您可以传递API URL作为第五个参数,以防它将来发生变化,但默认情况下这是正确的。

然后使用您刚刚创建的配置创建一个Bricklink网关对象。

<?php

use Davesweb\BrinklinkApi\Bricklink;
use Davesweb\BrinklinkApi\BricklinkConfig;

$config = new BricklinkConfig('consumerKey', 'consumerSecret', 'tokenValue', 'tokenSecret');

$gateway = new Bricklink($config);

现在您可以在网关对象上调用request()方法,直接向您的商店发送请求。然而,您也可以使用存储库来更容易地进行数据处理。

存储库

此包提供了一组存储库,这些存储库模拟了Bricklink的API结构。您可以使用14个存储库

  • CategoryRepository
  • ColorRepository
  • CouponRepository
  • FeedbackRepository
  • InventoryRepository
  • ItemRepository
  • MappingRepository
  • MemberRepository
  • NotificationRepository
  • OrderRepository
  • PriceGuideRepository
  • SettingRepository
  • SubsetRepository
  • SupersetRepoository

每个存储库都需要一个Gateway对象来连接到Bricklink,以及一个Transformer对象来将原始数据转换为值对象。某些存储库可能需要多个转换器,因为它们转换多个东西,如OrderRepository。一个简单的例子是

<?php

use Davesweb\BrinklinkApi\Bricklink;
use Davesweb\BrinklinkApi\BricklinkConfig;
use Davesweb\BrinklinkApi\Repositories\ColorRepository;
use Davesweb\BrinklinkApi\Transformers\ColorTransformer;

$config = new BricklinkConfig('consumerKey', 'consumerSecret', 'tokenValue', 'tokenSecret');
$gateway = new Bricklink($config);

$repository = new ColorRepository($gateway, new ColorTransformer());

$color = $repository->find(1);

var_dump($color);

文档

请阅读文档,了解如何使用此包的更多详细和高级示例。

Docker

此包包含一个Docker设置,以便轻松运行测试和CS修复器。

要构建Docker镜像,复制docker compose文件

cp docker-compose.yml.dist docker-compose.yml

然后运行

docker-compose build

要启动容器,运行

docker-compose up -d

登录到Docker容器

docker-compose exec app bash

测试

要运行测试套件,请在Docker容器内运行composer test,或从Docker容器外部运行docker-compose exec app composer test。测试是用PHPUnit创建的,因此您可以直接使用PHPUnit及其选项来运行测试。

代码风格

此项目使用CS Fixer强制执行统一的代码风格。此配置可在.php-cs-fixer.php文件中找到。

要在整个项目中运行CS Fixer,请在容器内运行composer cs-fixer,或从容器外部运行docker-compose exec app composer cs-fixer。您还可以直接运行CS Fixer(php vendor/bin/php-cs-fixer fix)并添加自定义参数。请注意,贡献指南要求您使用此包中的配置运行CS Fixer。

许可证

本软件包采用MIT许可证,这意味着您可以使用本软件包做任何您想做的事情。然而,如果您觉得这个软件包很有用,请考虑为我买一杯啤酒或者订阅Patreon上的高级电子邮件支持(网址:Patreon),非常感谢!