rudra / event-dispatcher
Rudra framework
Installs: 257
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/rudra/event-dispatcher
Requires
- php: >=8.3
- rudra/container: v25.12
- rudra/docs: v25.12
This package is auto-updated.
Last update: 2025-12-29 07:01:28 UTC
README
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.
📄 Full license text: LICENSE
🌐 Official MPL-2.0 page: https://mozilla.org/MPL/2.0/
Проект распространяется под лицензией Mozilla Public License 2.0 (MPL-2.0). Это означает:
- Вы можете свободно использовать, изменять и распространять код.
- При изменении файлов, содержащих исходный код из этого репозитория, вы обязаны оставить их открытыми под той же лицензией.
- Вы обязаны сохранять уведомления об авторстве и ссылку на оригинал.
- Вы можете встраивать код в проприетарные проекты, если исходные файлы остаются под MPL.
📄 Полный текст лицензии (на английском): LICENSE
🌐 Официальная страница: https://mozilla.org/MPL/2.0/