PHPackages                             predaddy/predaddy - 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. predaddy/predaddy

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

predaddy/predaddy
=================

Common DDD classes and utilities

4.0.0(8y ago)16826.5k61MITPHPPHP &gt;=7.1

Since Jun 3Pushed 8y ago9 watchersCompare

[ Source](https://github.com/szjani/predaddy)[ Packagist](https://packagist.org/packages/predaddy/predaddy)[ RSS](/packages/predaddy-predaddy/feed)WikiDiscussions 4.0 Synced 4w ago

READMEChangelog (6)Dependencies (10)Versions (49)Used By (1)

predaddy
========

[](#predaddy)

[![Latest Stable Version](https://camo.githubusercontent.com/5268bbc0dd6c4d1a272eaff9fe623271e7d00b37b4dac787a78acf4ea020c9ab/68747470733a2f2f706f7365722e707567782e6f72672f70726564616464792f70726564616464792f762f737461626c652e706e67)](https://packagist.org/packages/predaddy/predaddy)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/99bdb0b16c9c79982af44d4b3d911fbb0815bb4747b24367fa259d1836247719/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f737a6a616e692f70726564616464792f6261646765732f7175616c6974792d73636f72652e706e673f623d332e30)](https://scrutinizer-ci.com/g/szjani/predaddy/?branch=3.0)[![SensioLabsInsight](https://camo.githubusercontent.com/d797081c62eae52651add69578b8c0c32010f1f3502653414d40ac4cc606aafb/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f61643336666337612d663438642d343931392d623230642d3930656165333461656364392f6d696e692e706e67)](https://insight.sensiolabs.com/projects/ad36fc7a-f48d-4919-b20d-90eae34aecd9)[![Gitter chat](https://camo.githubusercontent.com/164a1a215d1e030b099c828277ee7f2c4f85ca12d124a9ca9268ee01951f2a2f/68747470733a2f2f6261646765732e6769747465722e696d2f737a6a616e692f70726564616464792e706e67)](https://gitter.im/szjani/predaddy)[![MIT license](https://camo.githubusercontent.com/4661abfe916186acde514558e7f040833cb63ba7098401a51ce339cbb2b4cf9e/687474703a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e737667)](http://opensource.org/licenses/MIT)[![Flattr this](https://camo.githubusercontent.com/d72e55c5c5baef1656773d3bb52c77a2566196f35e85f394f3196e2f748d679e/68747470733a2f2f6170692e666c617474722e636f6d2f627574746f6e2f666c617474722d62616467652d6c617267652e706e67 "Flattr this")](https://flattr.com/submit/auto?user_id=szjani&url=https://github.com/szjani/predaddy)

master1.22.23.0[![Build Status](https://camo.githubusercontent.com/402d9189e1417e3491e70ca9ef2a0abd086d729c3f4bda953f95482e3392aa97/68747470733a2f2f7472617669732d63692e6f72672f737a6a616e692f70726564616464792e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/szjani/predaddy)[![Build Status](https://camo.githubusercontent.com/ea669fa68565f92d9b92ad81ce016d362c2fd508bb1397c71e37b954ff89ce49/68747470733a2f2f7472617669732d63692e6f72672f737a6a616e692f70726564616464792e706e673f6272616e63683d312e32)](https://travis-ci.org/szjani/predaddy)[![Build Status](https://camo.githubusercontent.com/60f21f51a3bdcf87a37d7e57087cbe376d2dde273e2387c66d2b1441a0286f89/68747470733a2f2f7472617669732d63692e6f72672f737a6a616e692f70726564616464792e706e673f6272616e63683d322e32)](https://travis-ci.org/szjani/predaddy)[![Build Status](https://camo.githubusercontent.com/07eb044f1f90c41e8a3dcc2cffb0d4ff62e321df17250659edd4a0de22ca79f3/68747470733a2f2f7472617669732d63692e6f72672f737a6a616e692f70726564616464792e706e673f6272616e63683d332e30)](https://travis-ci.org/szjani/predaddy)[![Coverage Status](https://camo.githubusercontent.com/76f030e6c125e61ec77dd32c380377718bed4e0411eadc95fb814341d6b2170f/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f737a6a616e692f70726564616464792f62616467652e706e673f6272616e63683d6d6173746572)](https://coveralls.io/r/szjani/predaddy?branch=master)[![Coverage Status](https://camo.githubusercontent.com/8d9a63f5ffb5c8527ce3d96362334e68bb26e81728bcc272f0cf2cb35538a6fb/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f737a6a616e692f70726564616464792f62616467652e706e673f6272616e63683d312e32)](https://coveralls.io/r/szjani/predaddy?branch=1.2)[![Coverage Status](https://camo.githubusercontent.com/859087b9669e48e7b1608b21d53c95e098c0d29257477af7d8ea12f2e544e868/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f737a6a616e692f70726564616464792f62616467652e706e673f6272616e63683d322e32)](https://coveralls.io/r/szjani/predaddy?branch=2.2)[![Coverage Status](https://camo.githubusercontent.com/3d7c314f5f97786dabcf407b68344dd281adbd9a84a946e27885b99f6bc95558/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f737a6a616e692f70726564616464792f62616467652e706e673f6272616e63683d332e30)](https://coveralls.io/r/szjani/predaddy?branch=3.0)It is a library which gives you some usable classes to be able to use common DDD patterns. Some predaddy components can be used in any projects regardless of the fact that you are using DDD or not. I have got several ideas from [Google's Guava EventBus](http://code.google.com/p/guava-libraries/wiki/EventBusExplained) and [Axon framework](http://www.axonframework.org/).

Some libraries are used which are just API libraries and you must care for their implementations:

1. [lf4php](https://github.com/szjani/lf4php) for logging. Without an implementation predaddy is not logging.
2. [trf4php](https://github.com/szjani/trf4php) for transaction management. In most cases you will need to use a trf4php implementation (eg. [trf4php-doctrine](https://github.com/szjani/trf4php-doctrine))

Components
----------

[](#components)

For more details see the components (click on the titles):

1. #### [Message handling](https://github.com/szjani/predaddy/tree/3.0/src/predaddy/messagehandling#messagebus)

    [](#message-handling)

    It's an annotation based publish/subscribe implementation, can be used any projects even without DDD/CQRS/Event Sourcing.
2. #### [CQRS and Event Sourcing](https://github.com/szjani/predaddy/tree/3.0/src/predaddy/domain#cqrs--event-sourcing)

    [](#cqrs-and-event-sourcing)

    Complex solution for handling aggregates, based on the message handling component.
3. #### [Presentation - finders, etc.](https://github.com/szjani/predaddy/tree/3.0/src/predaddy/presentation#paginator-components)

    [](#presentation---finders-etc)

    Common classes and interfaces for handling the read side. It also can be used in any applications.
4. #### [Testing - helper for aggregate testing](https://github.com/szjani/predaddy/tree/3.0/src/predaddy/util/test#testing)

    [](#testing---helper-for-aggregate-testing)

    Fixtures to ease aggregate testing.

Examples
--------

[](#examples)

You can find some small CLI examples in the [sample directory](https://github.com/szjani/predaddy/tree/3.0/tests/src/sample).

A sample project is also available which shows how predaddy should be configured and used:

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity40

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 50% 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 ~39 days

Recently: every ~233 days

Total

45

Last Release

3025d ago

Major Versions

1.2.x-dev → 2.0.0-beta12014-02-27

2.2.x-dev → 3.0.0-beta12014-11-20

3.0.x-dev → 4.0.02018-03-19

PHP version history (4 changes)1.0.0PHP &gt;=5.3.2

2.0.2PHP &gt;=5.3.3

3.0.0-beta1PHP &gt;=5.4

4.0.0PHP &gt;=7.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/545872?v=4)[Janos Szurovecz](/maintainers/szjani)[@szjani](https://github.com/szjani)

---

Top Contributors

[![redthor](https://avatars.githubusercontent.com/u/767896?v=4)](https://github.com/redthor "redthor (1 commits)")[![szjani](https://avatars.githubusercontent.com/u/545872?v=4)](https://github.com/szjani "szjani (1 commits)")

---

Tags

dddaggregateeventbus

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[akeneo/pim-community-dev

Akeneo PIM, the future of catalog management is open!

1.0k624.1k86](/packages/akeneo-pim-community-dev)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

54681.3k17](/packages/solspace-craft-freeform)[prooph/service-bus

PHP Enterprise Service Bus Implementation supporting CQRS and DDD

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

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

562565.8k44](/packages/ecotone-ecotone)[metamodels/core

MetaModels core

9956.1k68](/packages/metamodels-core)[phpmentors/domain-kata

Kata for domain models

73448.1k9](/packages/phpmentors-domain-kata)

PHPackages © 2026

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