PHPackages                             ilzrv/fireable - 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. ilzrv/fireable

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

ilzrv/fireable
==============

An elegant way to trigger events based on attributes changes

v1.0.0(1y ago)08.0k↓73.1%MITPHPPHP ^8.1

Since Oct 27Pushed 1y agoCompare

[ Source](https://github.com/ilzrv/fireable)[ Packagist](https://packagist.org/packages/ilzrv/fireable)[ Docs](https://github.com/envant/fireable)[ RSS](/packages/ilzrv-fireable/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (4)Versions (4)Used By (0)

Fireable
========

[](#fireable)

[![Latest Version on Packagist](https://camo.githubusercontent.com/704f170ed9856ba859fee17e8c5bdc4eafd07602aa74024a6606c7fa416f5819/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f656e76616e742f6669726561626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/envant/fireable)[![StyleCI](https://camo.githubusercontent.com/f182ac83d4bc2eeb42d3beb30a27f20ec8ec5ad525b90dcf6748306c94c797ce/68747470733a2f2f7374796c6563692e696f2f7265706f732f3230393430373330302f736869656c64)](https://styleci.io/repos/209407300)[![Build Status](https://camo.githubusercontent.com/c151da1569fe3cfe07de1a2b29a6e694e31a331db31b81b265b7cec89240db48/68747470733a2f2f7472617669732d63692e6f72672f656e76616e742f6669726561626c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/envant/fireable)[![Total Downloads](https://camo.githubusercontent.com/83860a858ed9fd9ac1fa7b9a7b96fb2e965685bc602dfafa4702f86e26a1f4b8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f656e76616e742f6669726561626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/envant/fireable)

An elegant way to trigger events based on attributes changes.

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

[](#installation)

Install package through Composer

```
composer require ilzrv/fireable
```

Usage
-----

[](#usage)

1. Add the `FireableAttributes` trait to your model
2. Define the attributes with specified events via the `protected $fireableAttributes` property on the model

### Example

[](#example)

Let's say we need to trigger specified events when specific model attributes are updated.

For example, you need to notify user when he gets an "approved" status. Instead of observing model's "dirty" attributes and firing events manually we could do it more elegantly by assigning specified events to attributes or even certain values of attributes.

```
class User extends Authenticatable
{
    use FireableAttributes;

    protected $fireableAttributes = [
        'status' => [
            'approved' => UserApproved::class,
            'rejected' => UserRejected::class,
        ],
    ];
}
```

Also you may not need to track certain values, so you can assign an event directly to an attribute itself. So, in the example below, each time the user's email is changed, the appropriate event will be fired.

```
class User extends Authenticatable
{
    use FireableAttributes;

    protected $fireableAttributes = [
        'email' => EmailUpdated::class,
    ];
}
```

Change log
----------

[](#change-log)

Please see the [changelog](changelog.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
composer test
```

Contributing
------------

[](#contributing)

Please see [contributing.md](contributing.md) for details and a todolist.

Security
--------

[](#security)

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits
-------

[](#credits)

- [Boris Lepikhin](https://github.com/envant)
- [All Contributors](../../contributors)

License
-------

[](#license)

license. Please see the [license file](license.md) for more information.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60.8% 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

Unknown

Total

1

Last Release

594d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7d687963029adc07b2be221dd2fa5e08c0decbfc5f0720f0c49b5a7445513ccc?d=identicon)[ilzrv](/maintainers/ilzrv)

---

Top Contributors

[![lepikhinb](https://avatars.githubusercontent.com/u/17538801?v=4)](https://github.com/lepikhinb "lepikhinb (31 commits)")[![joaorobertopb](https://avatars.githubusercontent.com/u/6556083?v=4)](https://github.com/joaorobertopb "joaorobertopb (5 commits)")[![Davidnadejdin](https://avatars.githubusercontent.com/u/40993387?v=4)](https://github.com/Davidnadejdin "Davidnadejdin (5 commits)")[![ilzrv](https://avatars.githubusercontent.com/u/28765966?v=4)](https://github.com/ilzrv "ilzrv (3 commits)")[![crynobone](https://avatars.githubusercontent.com/u/172966?v=4)](https://github.com/crynobone "crynobone (2 commits)")[![hesham-fouda](https://avatars.githubusercontent.com/u/15731469?v=4)](https://github.com/hesham-fouda "hesham-fouda (2 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (2 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (1 commits)")

---

Tags

eventlaravelFireable

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M194](/packages/laravel-ai)[yajra/laravel-oci8

Oracle DB driver for Laravel via OCI8

8793.2M25](/packages/yajra-laravel-oci8)[glushkovds/phpclickhouse-laravel

Adapter of the most popular library https://github.com/smi2/phpClickHouse to Laravel

2051.5M2](/packages/glushkovds-phpclickhouse-laravel)[wearepixel/laravel-cart

A cart implementation for Laravel

1374.8k](/packages/wearepixel-laravel-cart)[api-platform/laravel

API Platform support for Laravel

58170.8k14](/packages/api-platform-laravel)

PHPackages © 2026

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