PHPackages                             mahadazad/event-manager - 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. mahadazad/event-manager

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

mahadazad/event-manager
=======================

09PHP

Since Dec 10Pushed 11y ago1 watchersCompare

[ Source](https://github.com/mahadazad/event-manager)[ Packagist](https://packagist.org/packages/mahadazad/event-manager)[ RSS](/packages/mahadazad-event-manager/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

PHP Event Manager Library
=========================

[](#php-event-manager-library)

This is an easy to use event manager library. Which you can utilize to create event driven application.

Installation:
=============

[](#installation)

use composer to install the library, in your composer.json:

```
{
    "require": {
        "mahadazad/event-manager": "dev-master"
    }
}
```

or run

`php composer.phar require "mahadazad/event-manager":"dev-master"`

How To Use?
===========

[](#how-to-use)

simply instansiate the EventManager object:

```
use EventManager\EventManager;

$em = new EventManager();

// $em->attach(event_name, callable, priority);

$handler1 = $em->attach('say.hello', function () {
    return 'hello';
}, 10);

$handler2 = $em->attach('say.hello', function () {
    return 'hello!!!';
}, 200);

$handler3 = $em->attach('say.hello', function () {
    return 'heeellloooo';
}, 300);

// remove an existing handler
$em->detach($handler3);

// $em->trigger(eventname); returns \EventManager\Response\ResponseCollection
$response = $em->trigger('say.hello');

/*
print_r($response->toArray());
    outputs:
        array(
          0 => hello!!!
          1 => hello
        )

can be traversed:
foreach ($response as $r) {
    echo $r->toResult();
}

you can get response of particular handler:
$hander1Results = $response->getCommandResult($handler2); // returns \EventManager\Response\ResponseCollection
*/
```

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/696470?v=4)[Muhammad Mahad Azad](/maintainers/mahadazad)[@mahadazad](https://github.com/mahadazad)

---

Top Contributors

[![mahadazad](https://avatars.githubusercontent.com/u/696470?v=4)](https://github.com/mahadazad "mahadazad (3 commits)")

### Embed Badge

![Health badge](/badges/mahadazad-event-manager/health.svg)

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

###  Alternatives

[dantleech/fink

Checks Links

2266.5k2](/packages/dantleech-fink)[maantje/pulse-php-fpm

A Laravel Pulse card to show php-fpm status

46145.0k](/packages/maantje-pulse-php-fpm)[chrisharrison/php-array-of

Implement an array of a defined type. Generics replacement for PHP.

10786.1k2](/packages/chrisharrison-php-array-of)

PHPackages © 2026

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