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");
License
This project is licensed under the Mozilla Public License 2.0 (MPL-2.0) — a free, open-source license that:
- Requires preservation of copyright and license notices,
- Allows commercial and non-commercial use,
- Requires that any modifications to the original files remain open under MPL-2.0,
- Permits combining with proprietary code in larger works.
Проект распространяется под лицензией Mozilla Public License 2.0 (MPL-2.0). Это означает:
- Вы можете свободно использовать, изменять и распространять код.
- При изменении файлов, содержащих исходный код из этого репозитория, вы обязаны оставить их открытыми под той же лицензией.
- Вы обязаны сохранять уведомления об авторстве и ссылку на оригинал.
- Вы можете встраивать код в проприетарные проекты, если исходные файлы остаются под MPL.