evgeek/moysklad

MoySklad JSON API 1.2 的 SDK

v0.11.1 2024-01-10 20:41 UTC

README

这是一个通用的库,允许使用 MoySklad API 1.2PHP 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 提供深度提示的属性自动提示。

autocomplete

内置文档

公共方法经过仔细文档化:描述、代码示例、API 文档链接。

comment

反馈

欢迎在 issues 中提出您的想法、愿望和问题。