adachsoft/dynamic-table-json
最新稳定版本:v0.4.1
Composer 安装命令:
composer require adachsoft/dynamic-table-json
包简介
JSON file-based implementation of adachsoft/dynamic-table-contract
README 文档
README
dynamic-table-json is a small PHP library that provides a JSON-based storage for dynamic table-like data. It implements the adachsoft/dynamic-table-contract package and is intended for use cases where you want to persist rows of data in JSON files without introducing a full database engine.
Features
- File-based JSON storage for tables and rows
- Separate repositories for tables and rows (
JsonTableRepository,JsonRowRepository) - Full support for
TableRepositoryInterfaceandRowRepositoryInterfacefromadachsoft/dynamic-table-contractv0.4:- Table CRUD:
create(NewTableDto),getAll(): TableCollection,update(),delete()withDuplicateTableException - Row CRUD:
add()withNewRowDto,getAll(),getById(),update(),delete()withRowNotFoundExceptionInterface
- Table CRUD:
- Row and table JSON format with explicit structure (
id,values, columns schema) - Pluggable serializers for rows and tables
- Clear separation between storage, repositories and serializers
- Dedicated exceptions for storage, decoding, missing tables/rows and duplicates (
TableNotFoundException,GenericRowNotFoundException,DuplicateTableException)
Requirements
- PHP 8.2 or higher
adachsoft/dynamic-table-contract^0.4 (installed automatically as a dependency)
Installation
Install the package via Composer:
composer require adachsoft/dynamic-table-json
Basic concepts
- Storage: low-level access to JSON files (
JsonFileStorageandJsonFileStorageInterface). - Repositories:
JsonTableRepository– full implementation ofTableRepositoryInterfacefor persisting table schemas (columns) usingTableDto/NewTableDto.JsonRowRepository– implementation ofRowRepositoryInterfacefor working with table rows (including single-row operations).
- Serializers:
TableSerializerconvertsTableDtoobjects to and from JSON-friendly arrays.RowSerializerconvertsRowDto/NewRowDtoobjects to and from the on-disk JSON format withidandvalueskeys.
- Exceptions: custom exceptions for decoding issues, storage problems, lookup errors and duplicates (
JsonStorageException,JsonDecodingException,TableNotFoundException,GenericRowNotFoundException,DuplicateTableException).
License
This library is released under the MIT license.
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-15