edumarques / dynamophp
DynamoPHP is a lightweight, strongly-typed Object Data Mapper designed to simplify development with Amazon DynamoDB.
Requires
- php: ^8.3
- aws/aws-sdk-php: ^3.343
- symfony/property-access: ^7.2
- symfony/serializer: ^7.2
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12.1
- slevomat/coding-standard: ^8.18
- squizlabs/php_codesniffer: ^3.12
- symfony/var-dumper: ^7.2
README
DynamoPHP is a strongly-typed, attribute-based Object Data Mapper for Amazon DynamoDB. It is built on top of modern PHP, which enables definition of entities using PHP 8+ attributes and interaction with DynamoDB using a clean, expressive API.
Inspired by data mappers like Doctrine and modeled after patterns in libraries such as TypeDORM.
Features
- Entity Management: automatically handles CRUD operations.
- Index Support: work with Global Secondary Indexes (GSI) and Local Secondary Indexes (LSI).
- Query Builder: build complex queries with minimal boilerplate.
Installation
You can install DynamoPHP via Composer:
composer require edumarques/dynamophp
Documentation
For detailed usage, please refer to the sections below.
Quickly get started:
Learn how DynamoPHP works as an ODM for mapping your objects to DynamoDB:
Learn how to define and manage your entities:
Learn how to use Global Secondary Indexes (GSI) and Local Secondary Indexes (LSI):
Learn how the EntityManager is used for managing entities and interactions with DynamoDB:
Documentation is an ongoing effort. Our docs will continue to evolve as the project grows — contributions and improvements are welcome and encouraged!
Contributing
Contributors are always welcome! For more information on how you can contribute, please read our contribution guideline.
For any questions, feel free to reach out to me directly by email: eduardomarqs1@gmail.com.
Integration
For seamless integration with Symfony applications, a dedicated Symfony Bundle is available: edumarques/dynamophp-symfony.