PHPackages                             morebec/orkestra-event-sourcing - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. morebec/orkestra-event-sourcing

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

morebec/orkestra-event-sourcing
===============================

Orkestra component providing utilities and classes for implementing Event Sourcing

v2.5.6(2y ago)1459↓100%1Apache-2.0PHPPHP &gt;=7.4

Since Apr 26Pushed 2y ago1 watchersCompare

[ Source](https://github.com/Morebec/orkestra-event-sourcing)[ Packagist](https://packagist.org/packages/morebec/orkestra-event-sourcing)[ RSS](/packages/morebec-orkestra-event-sourcing/feed)WikiDiscussions 2.x Synced today

READMEChangelogDependencies (11)Versions (23)Used By (1)

Event Sourcing
==============

[](#event-sourcing)

The Event Sourcing Orkestra component provides utilities and classes for implementing Event Sourcing in a system Using PHP.

It can be seen as persistence agnostic library that serves as an abstraction over the concept of an Event Store. It also provides utilities for modeling Event Sourced Aggregate Roots in a DDD sense, as well as schema validation and migration tools through an upcasting pipeline. It also supports snapshotting and projections.

> Note: Being an abstraction library, this component does not provide any concrete implementation of an Event Store (except for an in memory one used for testing), it simply provides the required interface to support the concepts. For an actual implementation this component can be used in tandem with the official companion component `morebec/orkestra-postgresql-eventstore`.
>
> You are however, free to implement your own concrete storage implementation according to your system's technology stack. In that case you can refer yourself to the [PostgreSQL implementation](https://github.com/Morebec/orkestra-postgrsql-eventstore).

Features:
---------

[](#features)

- Event schema migrations through Upcasting
- Modeling classes for Event Sourced Aggregate Roots
- Projections support
- Snapshotting

Need help? Have Question?
-------------------------

[](#need-help-have-question)

Create an issue or a discussion on the [Orkestra Repository](https://github.com/Morebec/orkestra), we will be glad to help you as best as we can!

Getting Started
---------------

[](#getting-started)

Install the component in your project through composer.

```
composer require morebec/orkestra-event-sourcing
```

Usage
-----

[](#usage)

For usage read the [documentation](docs/EventStore.md)

### Reading from a Stream

[](#reading-from-a-stream)

Reading from a stream is also very simple:

###  Health Score

30

—

LowBetter than 67% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~58 days

Total

22

Last Release

1089d ago

PHP version history (2 changes)2.0PHP &gt;=7.3

v2.3.3PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/10d7f5561446f2d4df4413803946e9f77175155d241f78bd65c0dd94e6caffc5?d=identicon)[jwillp](/maintainers/jwillp)

---

Top Contributors

[![jwillp](https://avatars.githubusercontent.com/u/5913483?v=4)](https://github.com/jwillp "jwillp (1 commits)")

---

Tags

cqrsevent-sourcingorkestraphp

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/morebec-orkestra-event-sourcing/health.svg)

```
[![Health](https://phpackages.com/badges/morebec-orkestra-event-sourcing/health.svg)](https://phpackages.com/packages/morebec-orkestra-event-sourcing)
```

###  Alternatives

[hfig/mapi

Pure PHP library for reading and manipulating Microsoft Outlook .msg messages (MAPI documents)

40400.0k2](/packages/hfig-mapi)[oat-sa/lib-lti1p3-core

OAT LTI 1.3 Core Library

35327.1k9](/packages/oat-sa-lib-lti1p3-core)[tehwave/laravel-achievements

Simple, elegant Achievements the Laravel way

6912.1k](/packages/tehwave-laravel-achievements)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
