承接 jurasciix/objeckson 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jurasciix/objeckson

最新稳定版本:1.0.5

Composer 安装命令:

composer require jurasciix/objeckson

包简介

README 文档

README

Objeckson - это библиотека для отображения динамических ассоциативных структур (которые, как правило, хранятся в формате JSON) на объекты PHP.

Возможности и roadmap

  • Десериализовывать массивы
  • Отображать на перечисления
  • Анализировать обобщенные типы
  • Работать с nullable-типами
  • Пользовательские сеттеры
  • Анализировать array-shapes: array{foo: Foo, bar: Bar}
  • Значения по умолчанию для Readonly свойств
  • Отображать на объекты STD: DateTime, SplFixedArray, etc...
  • Комбинации прямо отображаемых типов (примитивных): string|int|Foo
  • OneOf

Установка

Требования:

  • PHP ≥ 8.1
  • Composer

Установка посредством composer:

composer require jurasciix/objeckson:^1.0

Быстрый туториал

Следующий код демонстрирует инициализацию объекта, предоставляющего доступ к функциям Objeckson, и десериализацию данных JSON с отображением на объект PHP:

use jurasciix\objeckson\JsonProperty;
use jurasciix\objeckson\Optional;
use jurasciix\objeckson\Objeckson;

#[JsonProperty]
class APIResponse {
    #[Optional]
    public ?APIError $error = null;
    #[Optional]
    public mixed $data = null;
}

#[JsonProperty]
class APIError {
    public int $code;
    public string $description;
}

$responseJSON = <<<JSON
{
    "error": {
        "code": 1,
        "description": "Error description"
    }
}
JSON;

// Инициализируем главный объект 
$objeckson = new Objeckson();

// Десериализовываем и отображаем данные на объект типа APIResponse.
$response = $objeckson->fromJson($responseJSON, APIResponse::class);

// Смотрим, что у нас вышло.
var_dump($response);

统计信息

  • 总下载量: 42
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2024-04-25