PHPackages                             texdc/momento - 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. texdc/momento

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

texdc/momento
=============

A library for domain events

v2.0.0(8y ago)214[1 issues](https://github.com/texdc/Momento/issues)MITPHPPHP ~7.0

Since May 1Pushed 8y ago1 watchersCompare

[ Source](https://github.com/texdc/Momento)[ Packagist](https://packagist.org/packages/texdc/momento)[ RSS](/packages/texdc-momento/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (3)Dependencies (5)Versions (7)Used By (0)

Momento
=======

[](#momento)

Simple domain event library inspired by [Vaughn Vernon's](https://vaughnvernon.co)book [Implementing Domain Driven Design](http://www.informit.com/store/implementing-domain-driven-design-9780321834577), and some of his [code samples](https://github.com/VaughnVernon).

[![Latest Build](https://camo.githubusercontent.com/68e35994d8f6c83516d2d464572f524dfd267fc42018e8ac60ca928e3f4fd5e8/68747470733a2f2f7472617669732d63692e6f72672f74657864632f4d6f6d656e746f2e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/texdc/Momento)[![Dependencies](https://camo.githubusercontent.com/cc4ac22618ad3480374ec409fbab81c6a6820ecbb2b9997e1d7e683eaa1ab275/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f757365722f70726f6a656374732f3532653332383131656331333735343663623030303064652f62616467652e706e67)](https://www.versioneye.com/user/projects/52e32811ec137546cb0000de)[![Latest Stable Version](https://camo.githubusercontent.com/128fa344069730e2758f2d45da2d6a6f48a39acfb0182419eb6ef83413c60dae/68747470733a2f2f706f7365722e707567782e6f72672f74657864632f6d6f6d656e746f2f762f737461626c652e737667)](https://packagist.org/packages/texdc/momento)[![Total Downloads](https://camo.githubusercontent.com/936a11bbda04b6a1df95d35e36bf06fa880dd5e68762ca6f67525a90f2606ca7/68747470733a2f2f706f7365722e707567782e6f72672f74657864632f6d6f6d656e746f2f646f776e6c6f6164732e737667)](https://packagist.org/packages/texdc/momento)[![License](https://camo.githubusercontent.com/8e73714c72014a4259d684db5c374d4be651f66d0fb5506fc3d10dd09a155549/68747470733a2f2f706f7365722e707567782e6f72672f74657864632f6d6f6d656e746f2f6c6963656e73652e737667)](https://packagist.org/packages/texdc/momento)

Event Handlers
--------------

[](#event-handlers)

```
namespace My\Event;

use texdc\momento\AbstractEventHandler;
use texdc\momento\EventInterface;

final class Handler extends AbstractEventHandler
{
    protected static $validEventTypes = [
        FooEvent::TYPE,
        BarEvent::TYPE,
    ];

    public function __invoke(EventInterface $anEvent)
    {
        $type = $anEvent->eventType();
        $this->guardValidEventType($type);
        call_user_func([$this, $type], $anEvent);
    }

    // ...
}
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

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 ~420 days

Total

4

Last Release

3135d ago

Major Versions

v0.1.0 → v1.0.02016-02-28

v1.0.0 → v2.0.02017-10-14

PHP version history (4 changes)1.0.0-alphaPHP ~5.4

v0.1.0PHP ~5.4 || ~7.0

v1.0.0PHP ~5.6 || ~7.0

v2.0.0PHP ~7.0

### Community

Maintainers

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

---

Top Contributors

[![texdc](https://avatars.githubusercontent.com/u/1590605?v=4)](https://github.com/texdc "texdc (96 commits)")

---

Tags

domaineventphpddddomain-event

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/texdc-momento/health.svg)

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

###  Alternatives

[prooph/service-bus

PHP Enterprise Service Bus Implementation supporting CQRS and DDD

4421.4M32](/packages/prooph-service-bus)[ecotone/ecotone

Supporting you in building DDD, CQRS, Event Sourcing applications with ease.

558549.8k17](/packages/ecotone-ecotone)[prooph/event-sourcing

PHP EventSourcing library

267808.5k18](/packages/prooph-event-sourcing)[phpmentors/domain-kata

Kata for domain models

73426.9k9](/packages/phpmentors-domain-kata)[headsnet/domain-events-bundle

Integrates domain events into your Symfony application

4216.5k](/packages/headsnet-domain-events-bundle)[aura/payload

A Domain Payload implementation.

56370.4k9](/packages/aura-payload)

PHPackages © 2026

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