rudra/event-dispatcher
Composer 安装命令:
composer require rudra/event-dispatcher
包简介
Rudra framework
README 文档
README
Rudra-EventDispatcher | API
Install
composer require rudra/event-dispatcher
Usage
use Rudra\EventDispatcher\EventDispatcherFacade as Dispatcher;
Add a listener
Dispatcher::addListener('app.listener', [AppListener::class, 'onEvent']); Dispatcher::addListener('app.closure', function () { Rudra::config()->set(["closure" => "closure"]); }); Dispatcher::addListener('before', [new TestController(), 'before']);
Dispatch an event
Dispatcher::dispatch('app.listener', 123); // For Closure listeners, dispatch returns the Closure itself $closure = Dispatcher::dispatch('app.closure'); $closure(); Dispatcher::dispatch('before');
Attach an 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 an observer
Dispatcher::detachObserver("before", TestController::class);
Notify the observers
Dispatcher::notify("before"); Dispatcher::notify("closure"); Dispatcher::notify("subscriberObject");
Get all listeners / observers
Dispatcher::getListeners(); Dispatcher::getObservers();
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/
统计信息
- 总下载量: 294
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MPL-2.0
- 更新时间: 2018-08-02