https://github.com/vardumper/dom-orm
DOM Object Relational Mapper (ORM)
https://github.com/vardumper/dom-orm
database dom domdocument flatfile nosql orm php xml
Last synced: about 2 months ago
JSON representation
DOM Object Relational Mapper (ORM)
- Host: GitHub
- URL: https://github.com/vardumper/dom-orm
- Owner: vardumper
- License: mit
- Created: 2023-10-23T14:05:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-18T21:32:42.000Z (over 1 year ago)
- Last Synced: 2025-08-04T22:21:03.810Z (11 months ago)
- Topics: database, dom, domdocument, flatfile, nosql, orm, php, xml
- Language: PHP
- Homepage:
- Size: 1.52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
DOM ORM
DOM ORM is a lightweight, zero-setup, XML-based persistence layer for small datasets in PHP projects. It stores entities in a single XML document, so you can start without a database server.
## Features
- A very lightweight approach to persisting data into a single XML file.
- Supports exporting to headless-friendly formats such as JSON, YAML, XML
- Supports Versioning in Git or Mercurial out of the box.
- Handles concurrency with flock() when used with local file strage
- Supports local and remote storage via Flysystem (S3, Azure, Google Cloud, (S)FTP, etc.).
- Supports one-to-one, one-to-many, many-to-one, and many-to-many patterns.
- Supports AES-256-GCM field-level encryption via `#[Sensitive]` with searchable HMAC hashes.
- Supports schema evolution (rename/remove fragments) via `#[FragmentMap]` and CLI commands.
- Fully tested (Unit, Integration)
## Installation
```bash
composer require vardumper/dom-orm
```
## Documenation
Extensive Documentation has been made [available here](https://vardumper.github.io/dom-orm/).