Download the PHP package stratadox/entity-state without Composer
On this page you can find all versions of the php package stratadox/entity-state. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package entity-state
Entity State
Installation
Install with composer require stratadox/entity-state
What is this?
This package models the entity state at a certain point in the execution of the business logic.
The model is built in such a way that it can find differences in terms of added, altered or removed entities, when comparing itself to another point in the process.
Additionally, the package comes with a service to extract the state of the entities.
How to use this?
Step 1: Extract the state of the entities from the Identity Map
.
Step 2: Make some changes in the domain.
(Note: In real life you'd access the identity map through repositories instead)
Step 3: Extract the new state from the entities in the identity map.
Step 4: Get the changes since the original state was captured.
Step 5: Profit.
Name formatting
Notice that in the above example, the user's name is stored as a string value in
the property userName
. If instead the User
class would have a Name
value
object, the assertion would look more like this:
If this Name
object were contained in an array, the result would look like this:
Value formatting
It may in some cases be preferable to store the string representation of an instance, rather than all its properties. To extract a string representation of the objects of a class, one can use:
To do
Potential to-do's:
- Increase performance by hashing properties names?
- Split names into parts?
- Add methods for querying properties?
- Make properties exportable for hydration
All versions of entity-state with dependencies
stratadox/collection-contracts Version ^2.1
stratadox/identity-map Version ^0.5.1
stratadox/specification-interfaces Version ^1.0
stratadox/hydrator-contracts Version ^0.2.0