kepawni/twilted

A strictly typed PHP 7 CQRS/ES library/framework suited for PhpSpec and striving for highest IDE intellisense comfort

v2.0.1 2020-09-24 12:39 UTC

This package is auto-updated.

Last update: 2024-04-24 21:11:53 UTC


README

CQRS and Event Sourcing—The Way I Like To Engineer Domains

Status

Build Status Scrutinizer Code Quality Code Intelligence Status

read more...

Concepts

Serializing instances

Instead of relying on PHP's built-in serialization format on the one hand or enforcing the use of a certain format like JSON (even if it is a wise option) on the other hand, we decided to use an own way of simplifying instances for storing them that doesn't get in your way too much but won't cause a lot of extra work either.

read more...

Immutability

It is important to eliminate side effects, which also means waving good-bye to setters. For configuring complex instances we use with…($value) methods that can be chained and always return a new instance.

read more...

Project structure

The core namespace \Kepawni\Twilted contains nothing but essential interfaces and an abstract class.

However, some basic convenience classes that can be used as an out-of-the-box solution can be found in \Kepawni\Twilted\Basic. These rely heavily on traits to cater for easy reuse while causing minimal coding.

read more...