PHPackages                             rawkode/eidetic - 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. rawkode/eidetic

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

rawkode/eidetic
===============

CQRS and EventSourcing package for php &gt;= 5.5

0.1.5(10y ago)14243MITPHPPHP &gt;=5.5

Since Nov 18Pushed 9y agoCompare

[ Source](https://github.com/rawkode/eidetic)[ Packagist](https://packagist.org/packages/rawkode/eidetic)[ RSS](/packages/rawkode-eidetic/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (5)Versions (9)Used By (0)

Eidetic
=======

[](#eidetic)

**Warning: Unlikely to be updated anytime soon due to time restraints**

[![Software License](https://camo.githubusercontent.com/aea9980a943170e48c47abd95c15de99d3cedadb9b7c7ec820ec74d7216c7c7c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7261776b6f64652f656964657469632e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Latest Version](https://camo.githubusercontent.com/a8da6c7faa1524ac38ffdc4041586247b2edfe12914703f0737e048b23ad8a08/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7261776b6f64652f656964657469632e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/rawkode/eidetic)[![Build Status](https://camo.githubusercontent.com/aabb52dcbeac67adcb5124a63f08e8e1c6dcb47ccfb98060327d7205de0a509d/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7261776b6f64652f656964657469632f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/rawkode/eidetic)[![Quality Score](https://camo.githubusercontent.com/ac9742171b29121705f3dc42edc9c1d1482547297c10edf2fe755d4aaeaaf221/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7261776b6f64652f656964657469632e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/rawkode/eidetic)

[![SensioLabsInsight](https://camo.githubusercontent.com/f7ef3f17458ae068342b81d66ae6ce8c9b37af6d18cbae002c2bd270c8eab6c7/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f31363930303739372d623837322d343462662d386132302d6235653133303830653966302f736d616c6c2e706e67)](https://insight.sensiolabs.com/projects/16900797-b872-44bf-8a20-b5e13080e9f0)

---

Eidetic is a CQRS and EventSourcing library for php &gt;= 5.5

#### Extremely Alpha

[](#extremely-alpha)

**Please do not use this library for anything important - it's purely for fun**

Why not Broadway?
-----------------

[](#why-not-broadway)

Yes - I've seen Broadway and it's a fantastic package, but it wasn't for me.

- I should be able to use an EventStore / EventSourcing without committing to DDD (Not all projects suit!)
    - Even if it's just avoiding the vocabulary
    - I don't always want to use the Aggregate pattern
- I prefer composition over inheritance:
    - I don't really want to use inheritance for my entities
    - I **really** don't want to use inheritance for my events

This package should allow people to dip their toe in the waters and allow them to consider if using reactive / event based systems will work for them; even if that's simply setting up an EventStore to provide a basic audit trail for a legacy application. Take it slow, get your feet wet - then dive right in! :)

Status
------

[](#status)

Eidetic is currently under initial development. The aim is to provide helpers that allow you to implement CQRS and EventSourcing in your application.

- CQRS

    - Write model repositories
        - Event Store
- Event Stores

    - InMemory
    - Doctrine DBAL
- Event Subscribers

    - Symfony2 Event Dispatcher

Examples
--------

[](#examples)

Examples can be found inside [`usr/share/doc/example`](usr/share/doc/example)

Installation
------------

[](#installation)

`composer require rawkode/eidetic`

Sorry! As this is extremely experimental at the moment, please use `dev-master`.

Tests
-----

[](#tests)

### Testing with local version of php

[](#testing-with-local-version-of-php)

```
bin/phpunit
bin/phpspec run --format=pretty

```

### Testing with Docker

[](#testing-with-docker)

```
docker-compose up testing-php-5.5
docker-compose up testing-php-5.6
docker-compose up testing-php-7.0

```

### Extra Testing?

[](#extra-testing)

```
docker-compose up testing-database-mysql
docker-compose up testing-database-postgres

```

If you're having problems with these tests, it's because we can't tell Docker Compose that we need the database servers up and running before running our test application and you might be subject to the race condition. Until Docker Compose has a solution for this, simply boot the database first:

```
docker-compose up -d mysql
docker-compose up -d postgres

```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.9% 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 ~5 days

Total

5

Last Release

3857d ago

PHP version history (2 changes)0.1.1PHP &gt;=5.4

0.1.4PHP &gt;=5.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/a42224336010d68e58e0f09e07a1330e678308f28f1d906359a25c68dd0e6465?d=identicon)[rawkode](/maintainers/rawkode)

---

Top Contributors

[![rawkode](https://avatars.githubusercontent.com/u/145816?v=4)](https://github.com/rawkode "rawkode (139 commits)")[![alexjohnporter](https://avatars.githubusercontent.com/u/11017631?v=4)](https://github.com/alexjohnporter "alexjohnporter (2 commits)")[![pborreli](https://avatars.githubusercontent.com/u/77759?v=4)](https://github.com/pborreli "pborreli (1 commits)")

---

Tags

cqrsEventSourcingEventStore

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rawkode-eidetic/health.svg)

```
[![Health](https://phpackages.com/badges/rawkode-eidetic/health.svg)](https://phpackages.com/packages/rawkode-eidetic)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M380](/packages/easycorp-easyadmin-bundle)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

85036.3k](/packages/flow-php-flow)[shopware/storefront

Storefront for Shopware

684.6M228](/packages/shopware-storefront)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M552](/packages/shopware-core)[flarum/core

Delightfully simple forum software.

201.4M2.3k](/packages/flarum-core)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3189.0k6](/packages/codefog-contao-news-categories)

PHPackages © 2026

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