dakwamine/container-aware-event-dispatcher
Composer 安装命令:
composer require dakwamine/container-aware-event-dispatcher
包简介
Simple event dispatcher compliant with PSR-14 and using PSR-11 containers.
README 文档
README
A simple event dispatcher which works with "psr/container": "^2.0" and "psr/event-dispatcher": "^1.0".
Basic usage
<?php class SomeEvent implements \Dakwamine\Event\EventInterface { const EVENT_NAME = 'Any string'; public function getName(){ return static::EVENT_NAME; } } class SomeEventListener implements \Dakwamine\Event\EventListenerInterface { public function handleEvent(\Dakwamine\Event\EventInterface $event) { // Do stuff related to $event, like dispatching to other methods. if ($event->getName() === SomeEvent::EVENT_NAME) { // ... } } } // The container. $container = new \League\Container\Container(); // Add the listener to the container. $container->share(SomeEventListener::class); // This object holds the lists of class names per event. $listenerProvider = new \Dakwamine\Event\ContainerAwareListenerProvider($container); // Register the listener. Optionally set the priority. $listenerProvider->addListener(SomeEvent::EVENT_NAME, SomeEventListener::class, 42); // Dispatch the event. Listeners will be instantiated using the container by the listener provider. $eventDispatcher = new \Dakwamine\Event\EventDispatcher($listenerProvider); $eventDispatcher->dispatch(new SomeEvent());
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-04-13