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

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

motokraft/event
===============

Event dispatcher

v1.0.0(3y ago)113MITPHPPHP &gt;=8.0

Since Feb 12Pushed 3y ago1 watchersCompare

[ Source](https://github.com/motokraft/event)[ Packagist](https://packagist.org/packages/motokraft/event)[ Docs](https://github.com/motokraft/event)[ RSS](/packages/motokraft-event/feed)WikiDiscussions main Synced 1mo ago

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

Event dispatcher
----------------

[](#event-dispatcher)

[![Package version](https://camo.githubusercontent.com/3c5d6f87a0815f1308a88acd6b686b634f3a447a04221d8c4feccbc3fb140f3b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d6f746f6b726166742f6576656e74)](https://camo.githubusercontent.com/3c5d6f87a0815f1308a88acd6b686b634f3a447a04221d8c4feccbc3fb140f3b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d6f746f6b726166742f6576656e74)[![Total Downloads](https://camo.githubusercontent.com/bb28726b09ffa5f96825fd8a535fb402b18bdb1c4f7620b81b84209cb8f64ff0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f746f6b726166742f6576656e74)](https://camo.githubusercontent.com/bb28726b09ffa5f96825fd8a535fb402b18bdb1c4f7620b81b84209cb8f64ff0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f746f6b726166742f6576656e74)[![PHP Version](https://camo.githubusercontent.com/496d876328eb7b2c70e9bf4a111c8ab58ae02f4735f5882ee382deaf3058d9ff/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d6f746f6b726166742f6576656e74)](https://camo.githubusercontent.com/496d876328eb7b2c70e9bf4a111c8ab58ae02f4735f5882ee382deaf3058d9ff/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d6f746f6b726166742f6576656e74)[![Repository Size](https://camo.githubusercontent.com/9c776796e22ba9e2b97697b60c8581ebe8e463450e7fccd889e53d7f803a4313/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6f746f6b726166742f6576656e74)](https://camo.githubusercontent.com/9c776796e22ba9e2b97697b60c8581ebe8e463450e7fccd889e53d7f803a4313/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6f746f6b726166742f6576656e74)[![License](https://camo.githubusercontent.com/6a01e9d8f37ef9d10ad858a10c5fbe5f19bc3a2ab780791166fe0ee64efb2eae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f746f6b726166742f6576656e74)](https://camo.githubusercontent.com/6a01e9d8f37ef9d10ad858a10c5fbe5f19bc3a2ab780791166fe0ee64efb2eae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f746f6b726166742f6576656e74)

Установка
---------

[](#установка)

Библиотека устанавливается с помощью пакетного менеджера [**Composer**](https://getcomposer.org/)

Добавьте библиотеку в файл `composer.json` вашего проекта:

```
{
    "require": {
        "motokraft/event": "^1.0"
    }
}
```

или выполните команду в терминале

```
$ php composer require motokraft/event

```

Включите автозагрузчик Composer в код проекта:

```
require __DIR__ . '/vendor/autoload.php';
```

Пример использования
--------------------

[](#пример-использования)

```
use \Motokraft\Event\EventHelper;
use \Motokraft\Event\EventMethod;
use \Motokraft\Event\ObjectEvent;
use \Motokraft\Event\EventInterface;
use \Motokraft\Event\EventTypeInterface;
use \Motokraft\Event\Traits\EventTrait;
use \Motokraft\Object\BaseObject;

class UserObject extends BaseObject implements EventTypeInterface
{
    use EventTrait;

    private int $id = 0;
    private string $name = 'admin';
}

EventHelper::addTypeClass('user', UserObject::class);

class DemoEvent implements EventInterface
{
    function onPrepareUserObject(ObjectEvent $event) : void
    {
        $target = $event->getTarget();
        $target->set('login', 'SuperUser');
    }
}

UserObject::addEventMethod('prepare', new EventMethod(
	DemoEvent::class, 'onPrepareUserObject', 1
));

$user = new UserObject;

$event = $user->getObjectEvent('prepare');
$user->dispatchEvent($event);

print_R($user);
```

Лицензия
--------

[](#лицензия)

Эта библиотека находится под лицензией MIT License.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1191d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c50d7579f5a037c6f3f62a47cd1637771331b69e57389da513998a9ae934a0c2?d=identicon)[motokraft](/maintainers/motokraft)

---

Top Contributors

[![motokraft](https://avatars.githubusercontent.com/u/6596533?v=4)](https://github.com/motokraft "motokraft (1 commits)")

---

Tags

phpevent

### Embed Badge

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

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

PHPackages © 2026

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