https://github.com/complexheart/php-sdk
Provide a set of useful classes and tools to ease the adoption of Domain-Driven Design into your PHP project.
https://github.com/complexheart/php-sdk
aggregates clean-architecture cqrs ddd entities hexagonal-architecture ports-and-adapters value-object
Last synced: 11 days ago
JSON representation
Provide a set of useful classes and tools to ease the adoption of Domain-Driven Design into your PHP project.
- Host: GitHub
- URL: https://github.com/complexheart/php-sdk
- Owner: ComplexHeart
- License: mit
- Created: 2021-05-10T10:44:22.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2026-01-22T07:59:29.000Z (21 days ago)
- Last Synced: 2026-01-22T22:21:30.947Z (21 days ago)
- Topics: aggregates, clean-architecture, cqrs, ddd, entities, hexagonal-architecture, ports-and-adapters, value-object
- Homepage:
- Size: 14.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Complex Heart PHP SDK
[](https://github.com/ComplexHeart/php-sdk/actions/workflows/test.yml)
An SDK for building Domain-Driven Design (DDD) applications in PHP. This metapackage bundles the essential Complex Heart libraries to provide a complete toolset for implementing DDD patterns with value objects, entities, aggregates, and flexible query criteria.
## Overview
The Complex Heart SDK is designed to ease the adoption of Domain-Driven Design principles in PHP projects by providing well-tested, production-ready components that handle common DDD patterns and challenges.
## Features
This SDK includes three core packages:
- **[Contracts](https://github.com/ComplexHeart/php-contracts)** - Common interfaces and contracts to decouple domain logic from infrastructure concerns
- **[Domain Model](https://github.com/ComplexHeart/php-domain-model)** - Base classes and utilities for building Aggregates, Entities, and Value Objects
- **[Criteria](https://github.com/ComplexHeart/php-criteria)** - Flexible query pattern implementation for building type-safe, repository-agnostic queries
## Requirements
- PHP ^8.2
- ext-json
## Installation
Install via Composer:
```bash
composer require complex-heart/sdk
```
This will install all three packages and their dependencies.
## What's Included
### Contracts Package
Provides foundational interfaces for:
- Value Objects
- Entities and Aggregates
- Domain Events
- Repositories
- Services
### Domain Model Package
Offers base implementations for:
- Value Objects with validation and immutability
- Entities with identity management
- Aggregate roots with domain event handling
- Rich domain behaviors
### Criteria Package
Enables flexible querying with:
- Type-safe query building
- Filtering, ordering, and pagination
- Repository-agnostic design
- Composable query specifications
## Documentation
For detailed documentation on each package, please visit:
- [Contracts Documentation](https://github.com/ComplexHeart/php-contracts#readme)
- [Domain Model Documentation](https://github.com/ComplexHeart/php-domain-model#readme)
- [Criteria Documentation](https://github.com/ComplexHeart/php-criteria#readme)
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
## Support
If you encounter any issues or have questions:
- Open an issue on [GitHub Issues](https://github.com/ComplexHeart/php-sdk/issues)
- Check existing issues and discussions
- Review the documentation for each individual package