PHPackages                             sympress/event-dispatcher - 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. sympress/event-dispatcher

ActiveWordpress-muplugin[Utility &amp; Helpers](/categories/utility)

sympress/event-dispatcher
=========================

MU plugin for class-based WordPress events, listeners, and subscribers.

1.0.1(1mo ago)186GPL-2.0-or-laterPHPPHP ^8.5CI passing

Since Jun 14Pushed 1w agoCompare

[ Source](https://github.com/SymPress/event-dispatcher)[ Packagist](https://packagist.org/packages/sympress/event-dispatcher)[ RSS](/packages/sympress-event-dispatcher/feed)WikiDiscussions main Synced 1w ago

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

Event Dispatcher
================

[](#event-dispatcher)

[![Checks](https://camo.githubusercontent.com/2695cffd87b71ba27c519dfaa5eb703c5d1935477bcedbcf08dd60e0d892cb27/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f53796d50726573732f6576656e742d646973706174636865722f71612e796d6c3f6272616e63683d6d61696e266c6162656c3d636865636b73)](https://github.com/SymPress/event-dispatcher/actions/workflows/qa.yml) [![Release](https://camo.githubusercontent.com/262ab4d51dbfddee07cf45694bededf28c19cecbb24f1ee29007ece094c016fa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f53796d50726573732f6576656e742d646973706174636865723f6c6162656c3d72656c65617365)](https://github.com/SymPress/event-dispatcher/releases) [![PHP](https://camo.githubusercontent.com/9c289bafd828b10421b63b8f6e6468647d024a71a8ce55014d32795df33d4dcf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f73796d70726573732f6576656e742d646973706174636865722f7068702e7376673f6c6162656c3d706870)](https://packagist.org/packages/sympress/event-dispatcher) [![Downloads](https://camo.githubusercontent.com/191e2e2d6f16ab1ba3d31e128e4273b87bc805edd16a7aadb648120b30d106d5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73796d70726573732f6576656e742d646973706174636865722e7376673f6c6162656c3d646f776e6c6f616473)](https://packagist.org/packages/sympress/event-dispatcher/stats) [![License: GPL-2.0-or-later](https://camo.githubusercontent.com/26f8b6541ea045cc1dbc2267208158b5a7ebbf5cf437c4b486d80fee9386f77e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d47504c2d2d322e302d2d6f722d2d6c617465722d626c75652e737667)](LICENSE)

Standalone WordPress MU-plugin for Symfony-style class-based events, listeners, and subscribers on top of native WordPress hooks and filters.

Requirements
------------

[](#requirements)

- WordPress 6.9
- PHP 8.5

Design Goals
------------

[](#design-goals)

- Symfony-like listener and subscriber API
- PSR-14 compliant dispatcher and listener provider contracts
- Class-based WordPress action and filter events
- Immutable event value objects
- Native WordPress hook bridge with one callback registration per event class
- Container-friendly bootstrap for `SymPress\Kernel\App`
- Enterprise-focused QA with PHPUnit, PHPStan, PHPCS, and PHP CS Fixer

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

[](#installation)

1. Place the package in `wp-content/mu-plugins/event-dispatcher/`.
2. Ensure Composer autoloading is available.
3. Add a root MU loader file because WordPress does not autoload subdirectories.

```
