Recommend this page to a friend! |
Download |
Info | Documentation | Files | Install with Composer | Download | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2024-01-30 (8 months ago) | Not enough user ratings | Total: 60 | All time: 10,493 This week: 60 |
Version | License | PHP version | Categories | |||
ch-domain-model 1.0 | Custom (specified... | 8.1 | Data types, Design Patterns, PHP 8 |
Complex Heart allows you to model your domain Aggregates, Entities, and Value Objects using a set of traits. Great, but why traits and not classes? Well, sometimes you have some kind of inheritance in your classes. Being forced to use a certain base class is too invasive and personally, I don't like it. By using a set of traits and interfaces you have all the functionality you need without compromising the essence of your own domain.
The available traits are:
On top of those base traits Complex Heart provide ready to use compositions:
For more information please check the wiki.
Files (51) |
File | Role | Description | ||
---|---|---|---|---|
.github (1 file, 2 directories) | ||||
src (5 files, 4 directories) | ||||
tests (5 files, 1 directory) | ||||
wiki (3 files) | ||||
composer.json | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
phpunit.xml | Data | Auxiliary data | ||
README.md | Doc. | Documentation | ||
sonar-project.properties | Data | Auxiliary data |
Files (51) | / | .github |
File | Role | Description | ||
---|---|---|---|---|
ISSUE_TEMPLATE (2 files) | ||||
workflows (2 files) | ||||
CODEOWNERS | Data | Auxiliary data |
Files (51) | / | .github | / | ISSUE_TEMPLATE |
File | Role | Description |
---|---|---|
bug_report.md | Data | Auxiliary data |
feature_request.md | Data | Auxiliary data |
Files (51) | / | .github | / | workflows |
File | Role | Description |
---|---|---|
documentation.yml | Data | Auxiliary data |
test.yml | Data | Auxiliary data |
Files (51) | / | src |
File | Role | Description | ||
---|---|---|---|---|
Errors (1 file) | ||||
Exceptions (2 files) | ||||
Traits (7 files) | ||||
ValueObjects (9 files) | ||||
IsAggregate.php | Class | Class source | ||
IsEntity.php | Class | Class source | ||
IsModel.php | Class | Class source | ||
IsValueObject.php | Class | Class source | ||
TypedCollection.php | Class | Class source |
Files (51) | / | src | / | Exceptions |
File | Role | Description |
---|---|---|
InstantiationException.php | Class | Class source |
InvariantViolation.php | Class | Class source |
Files (51) | / | src | / | Traits |
File | Role | Description |
---|---|---|
HasAttributes.php | Class | Class source |
HasDomainEvents.php | Class | Class source |
HasEquality.php | Class | Class source |
HasIdentity.php | Class | Class source |
HasImmutability.php | Class | Class source |
HasInvariants.php | Class | Class source |
HasTypeCheck.php | Class | Class source |
Files (51) | / | src | / | ValueObjects |
File | Role | Description |
---|---|---|
ArrayValue.php | Class | Class source |
BooleanValue.php | Class | Class source |
DateTimeValue.php | Class | Class source |
EnumValue.php | Class | Class source |
FloatValue.php | Class | Class source |
IntegerValue.php | Class | Class source |
StringValue.php | Class | Class source |
UUIDValue.php | Class | Class source |
Value.php | Class | Class source |
Files (51) | / | tests |
File | Role | Description | ||
---|---|---|---|---|
OrderManagement (1 directory) | ||||
AggregatesTest.php | Class | Class source | ||
Pest.php | Aux. | Auxiliary script | ||
TraitsTest.php | Class | Class source | ||
TypedCollectionTest.php | Class | Class source | ||
ValueObjectsTest.php | Class | Class source |
Files (51) | / | tests | / | OrderManagement | / | Domain |
File | Role | Description | ||
---|---|---|---|---|
Errors (1 file) | ||||
Events (1 file) | ||||
Customer.php | Class | Class source | ||
Order.php | Class | Class source | ||
OrderLine.php | Class | Class source | ||
OrderLines.php | Class | Class source | ||
Price.php | Class | Class source | ||
Reference.php | Class | Class source | ||
Tags.php | Class | Class source |
Files (51) | / | tests | / | OrderManagement | / | Domain | / | Errors |
File | Role | Description |
---|---|---|
InvalidPriceError.php | Class | Class source |
Files (51) | / | tests | / | OrderManagement | / | Domain | / | Events |
File | Role | Description |
---|---|---|
OrderCreated.php | Class | Class source |
Files (51) | / | wiki |
File | Role | Description |
---|---|---|
Domain-Modeling-Aggregates.md | Data | Auxiliary data |
Domain-Modeling-Entities.md | Data | Auxiliary data |
Domain-Modeling-Value-Objects.md | Data | Auxiliary data |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.