戴夫的网站 / bricklink-api
Bricklink API的PHP包装器
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/oauth-subscriber: ^0.6.0
- jawira/case-converter: ^3.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: 9.5
This package is auto-updated.
Last update: 2024-09-20 22:32:11 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),非常感谢!