PHPackages                             harp-orm/event-listeners - 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. harp-orm/event-listeners

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

harp-orm/event-listeners
========================

Simple event listeners with Closures

26PHP

Since Sep 9Pushed 11y ago2 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

Event Listeners
===============

[](#event-listeners)

[![Build Status](https://camo.githubusercontent.com/880e0079fed24a2e9ab4345d4bf9e8ed7ce49543e4487597073618c48a68e600/68747470733a2f2f7472617669732d63692e6f72672f686172702d6f726d2f6576656e742d6c697374656e6572732e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/harp-orm/event-listeners)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/35932812435a224cfb19a9385a9d4b784a152b7eeec2d1997259d4f697005fdc/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f686172702d6f726d2f6576656e742d6c697374656e6572732f6261646765732f7175616c6974792d73636f72652e706e67)](https://scrutinizer-ci.com/g/harp-orm/event-listeners/)[![Code Coverage](https://camo.githubusercontent.com/c9b62019acac02e611601693dc5c0bfa465d12cbceb6a32eed4b9d84df682330/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f686172702d6f726d2f6576656e742d6c697374656e6572732f6261646765732f636f7665726167652e706e67)](https://scrutinizer-ci.com/g/harp-orm/event-listeners/)[![Latest Stable Version](https://camo.githubusercontent.com/713826e84a7503d7564553ab50ae2246251403b3ad1ac0b476069e9badc7bfc8/68747470733a2f2f706f7365722e707567782e6f72672f686172702d6f726d2f6576656e742d6c697374656e6572732f762f737461626c652e706e67)](https://packagist.org/packages/harp-orm/event-listeners)

Simple event listeners with Closures.

Usage
-----

[](#usage)

```
$listeners = new EventListeners();

$listeners->addBefore('save', function ($target) {
    // ...
});

$listeners->addAfter('delete', function ($target) {
    // ...
});

$listeners->dispatchEvent('save', $target);
$listeners->dispatchEvent('delete', $target);
```

A very simple manager object that holds all the appropriate events, and allows you to dispatch these events later.

EventListenersTrait
-------------------

[](#eventlistenerstrait)

This trait gives you the ability to easily add eventlisteners to another object.

```
class TestConfig {
    use EventListenersTrait;
}

$config = new TestConfig();

$config
    ->addEventBefore('delete', function () {
        // ...
    })
    ->addEventAfter('validate', function () {

    });

// Return the EventListeners object
$config->getEventListeners();
```

Here are all the methods added by this trait.

MethodDescription**getEventListeners**()Get the EventListeners object**addEventBefore**($name, $closure)Add a "before" listener**addEventAfter**($name, $closure)Add a "after" listenerLicense
-------

[](#license)

Copyright (c) 2014, Clippings Ltd. Developed by Ivan Kerin

Under BSD-3-Clause license, read LICENSE file.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

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/506129?v=4)[Harry Dobrev](/maintainers/hkdobrev)[@hkdobrev](https://github.com/hkdobrev)

---

Top Contributors

[![ivank](https://avatars.githubusercontent.com/u/4976?v=4)](https://github.com/ivank "ivank (2 commits)")

### Embed Badge

![Health badge](/badges/harp-orm-event-listeners/health.svg)

```
[![Health](https://phpackages.com/badges/harp-orm-event-listeners/health.svg)](https://phpackages.com/packages/harp-orm-event-listeners)
```

###  Alternatives

[laracademy/generators

This package will generate a Laravel Model based on your database table itself, filling in the required fields automatically.

355346.4k4](/packages/laracademy-generators)[beyondcode/laravel-vouchers

Allow users to redeem vouchers that are bound to models..

70763.4k2](/packages/beyondcode-laravel-vouchers)[firegento/magesetup2

MageSetup provides the necessary configuration (system config, tax, agreements, etc. for a national market.

123328.5k1](/packages/firegento-magesetup2)[sixlive/nova-text-copy-field

Laravel Nova text field with click to copy support

70708.2k2](/packages/sixlive-nova-text-copy-field)[happyr/message-serializer

Serialize classes the good way.

80491.3k](/packages/happyr-message-serializer)[percymamedy/laravel-dev-booter

Boost your Laravel app by registering Prod services only on Prod.

35320.7k1](/packages/percymamedy-laravel-dev-booter)

PHPackages © 2026

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