New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

adachsoft/dynamic-table-json

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

adachsoft/dynamic-table-json

JSON file-based implementation of adachsoft/dynamic-table-contract

Source
Packagist
Version
v0.4.1
Version published
Total downloads
9
Maintainers
1
Created
Source

dynamic-table-json

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 TableRepositoryInterface and RowRepositoryInterface from adachsoft/dynamic-table-contract v0.4:
    • Table CRUD: create(NewTableDto), getAll(): TableCollection, update(), delete() with DuplicateTableException
    • Row CRUD: add() with NewRowDto, getAll(), getById(), update(), delete() with RowNotFoundExceptionInterface
  • 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 (JsonFileStorage and JsonFileStorageInterface).
  • Repositories:
    • JsonTableRepository – full implementation of TableRepositoryInterface for persisting table schemas (columns) using TableDto / NewTableDto.
    • JsonRowRepository – implementation of RowRepositoryInterface for working with table rows (including single-row operations).
  • Serializers:
    • TableSerializer converts TableDto objects to and from JSON-friendly arrays.
    • RowSerializer converts RowDto/NewRowDto objects to and from the on-disk JSON format with id and values keys.
  • 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.

Keywords

php

FAQs

Package last updated on 24 Apr 2026

Related posts