rudra/event-dispatcher

v25.6 2025-06-27 12:11 UTC

This package is auto-updated.

Last update: 2025-06-27 12:13:35 UTC


README

PHPunit Maintainability CodeFactor Coverage Status

Rudra-EventDispatcher | API

Диспетчер событий

Установка / Install

composer require rudra/event-dispatcher

Использование / Usage

use Rudra\EventDispatcher\EventDispatcherFacade as Dispatcher;
Add listeners / Добавление слушателей
Dispatcher::addListener('app.listener', [AppListener::class, 'onEvent']);
Dispatcher::addListener('app.closure', function () {
    Rudra::config()->set(["closure" => "closure"]);
});
Dispatcher::addListener('before', [new TestController(), 'before']);
Dispatches an event / Вызывает событие
Dispatcher::dispatch('app.listener', 123);
Dispatcher::dispatch('app.closure');
Dispatcher::dispatch('before');
Attach observer / Прикрепить наблюдателя
Dispatcher::attachObserver("before", [TestController::class, "before"]);
Dispatcher::attachObserver("closure", ['closure', function () {
    Rudra::config()->set(['closure' => "closure"]);
}]);
######
$test = new TestController();
Dispatcher::attachObserver("subscriberObject", [$test, "subscriberObject"], 123);
Detach observer / Отсоединить наблюдателя
Dispatcher::detachObserver("before", TestController::class);
Notify the observers / Оповестить наблюдателей
Dispatcher::notify("before");
Dispatcher::notify("closure");
Dispatcher::notify("subscriberObject");