kuick/event-dispatcher
最新稳定版本:v1.1.3
Composer 安装命令:
composer require kuick/event-dispatcher
包简介
Kuick Event is a slim PSR-14 Event Dispatcher implementation
README 文档
README
PSR-14 Event Dispatcher lightweight implementation
Key features
- Full PSR-14 compatibility
- Easy to use listener registration
- Listener prioritization
- Support for wildcard listeners (ie. , Prefix)
Examples
- Registering listeners to the listener provider
<?php
use Kuick\Event\EventDispatcher;
use Kuick\Event\ListenerProvider;
$provider = new ListenerProvider();
$provider->registerListener(
'some class name or pattern',
function () {
//handle the event
}
);
$dispatcher = new EventDispatcher($provider);
// $dispatcher->dispatch(new SomeEvent());
- Listener prioritization (using stdClass as an event)
<?php
use stdClass;
use Kuick\Event\EventDispatcher;
use Kuick\Event\ListenerPriority;
use Kuick\Event\ListenerProvider;
$provider = new ListenerProvider();
$provider->registerListener(
stdClass::class,
function (stdClass $event) {
//handle the event
},
ListenerPriority::HIGH
);
$provider->registerListener(
stdClass::class,
function (stdClass $event) {
//handle the event
},
ListenerPriority::LOW
);
$dispatcher = new EventDispatcher($provider);
// it should handle the event with high priority listener first
$dispatcher->dispatch(new stdClass());
- Registering wildcard listeners (using stdClass as an event)
<?php
use stdClass;
use Kuick\Event\EventDispatcher;
use Kuick\Event\ListenerProvider;
$provider = new ListenerProvider();
$provider->registerListener(
'*',
function (object $event) {
//handle the event
}
);
$provider->registerListener(
'std*',
function (object $event) {
//handle the event
}
);
$dispatcher = new EventDispatcher($provider);
// it should match both listeners and run them sequentialy
$dispatcher->dispatch(new stdClass());
统计信息
- 总下载量: 4.98k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-14