matraux/json-orm
最新稳定版本:2.1.0
Composer 安装命令:
composer require matraux/json-orm
包简介
A PHP 8.4+ library for converting JSON data to typed entities and back, with support for lazy-loading collections.
README 文档
README
Introduction
A PHP 8.4+ library for converting JSON data to typed entities and back, with support for lazy-loading collections, mutable data structures, and structured entity design. Useful for structured JSON APIs, configuration parsing, and object-based manipulation of hierarchical JSON data.
Features
- Object-oriented JSON mapping
- Conversion from JSON to typed entities and back
- Lazy-loading collections for efficient memory usage
- Entity objects are mutable and can be freely modified after creation
- Strict type support with automatic casting
- Native support for nested structures and arrays
- Easy integration with configuration or API responses
Installation
composer require matraux/json-orm
Requirements
| version | PHP | Note |
|---|---|---|
| 1.1.0 | 8.3+ | Initial commit |
| 1.2.0 | 8.4+ | Performance optimization |
| 1.3.0 | 8.4+ | Performance optimization |
| 1.4.1 | 8.4+ | 50%+ performance boost via metadata caching |
| 1.4.2 | 8.4+ | Entity & Metadata fix and optimization |
| 2.0.0 | 8.4+ | Namespace rename and switch to Codeception |
| 2.1.0 | 8.4+ | Added support for property hooks and codecs (encode/decode) |
Examples
See Definitions for how to define your own entities and collections.
See Read for full reading examples.
use Matraux\JsonOrm\Json\SimpleJsonExplorer; // Load data from JSON string or file $explorer = SimpleJsonExplorer::fromString('[{"CUSTOM_ID":1,"name":"First"}]'); // Create typed collection from JSON $collection = CommonCollection::create($explorer); $entity = $collection[0]; echo $entity->name; // "First"
See Write for writing examples.
// Create collection and insert entity $collection = CommonCollection::create(); $entity = $collection->createEntity(); $entity->name = 'Example'; echo json_encode($collection); // '[{"name":"Example"}]'
Development
See Development for debug, test instructions, static analysis, and coding standards.
Support
For bug reports and feature requests, please use the issue tracker.
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-23