evgeek / moysklad
MoySklad JSON API 1.2 的 SDK
v0.11.1
2024-01-10 20:41 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.15
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
README
这是一个通用的库,允许使用 MoySklad API 1.2 和 PHP 8.1+
。
处于开发阶段,版本小于 v1.0.0
可能不具备兼容性。变化列表可以在 变更日志 中找到。不支持兼容性版本更新指南 - 升级指南。
安装
composer require evgeek/moysklad
快速入门
use Evgeek\Moysklad\Api\Record\Objects\Entities\Product; use Evgeek\Moysklad\MoySklad; $ms = new MoySklad(['token']); //Конструктор запросов $product = $ms->query() ->entity() ->product() ->byId('25cf41f2-b068-11ed-0a80-0e9700500d7e') ->get(); //Active Record $product = Product::make($ms); $product->id = '25cf41f2-b068-11ed-0a80-0e9700500d7e'; $product->get(); //Или $product = Product::make($ms, ['id' => '25cf41f2-b068-11ed-0a80-0e9700500d7e'])->get();
完整文档
特点
库提供两种与 API 交互的方式 - 查询构造器(Query)和对象(Record)。这两种方法完全兼容且可互换。
查询构造器 (文档)
允许使用流畅的方法链来构建对 MyoSklad API 的任何请求。
$products = $ms->query() ->entity() ->product() ->order('name') ->limit(3) ->get(); foreach ($products as $product) { var_dump($product->name); }
对象方法 (文档)
基于 Active Record 概念的方法。MyoSklad 的每个实体都由一个单独的类表示,一组实体由集合表示。与查询构造器相比,虽然简洁但不如通用,是与 API 交互的方法。
Product::collection($ms) ->eachGenerator(function (Product $product) { $product->name = mb_strtoupper($product->name); $product->update(); });
其他优点包括能够使用自定义方法扩展实体对象以及为 IDE 提供深度提示的属性自动提示。
内置文档
公共方法经过仔细文档化:描述、代码示例、API 文档链接。
反馈
欢迎在 issues 中提出您的想法、愿望和问题。