codememory/event-dispatcher
Composer 安装命令:
composer require codememory/event-dispatcher
包简介
di
README 文档
README
Установка
composer require codememory/event-dispatcher
Обзор конфигурации
# configs/event.yaml event: # Settings events pathWithEvents: App/Events # Path with all events eventNamespace: App\Events # Namespace events eventSuffix: Event # Suffix for filename event # Settings listeners pathWithListeners: App/Listeners # Path with all event listeners listenerNamespace: App\Listeners # Namespace event listeners listenerSuffix: Listener # Suffix for filename listener
Если используется конфигурация, выполните следующие команды
- Создать глобальную конфигурацию, если ее не существует
php vendor/bin/gc-cdm g-config:init
- Merge всей конфигурации
php vendr/bin/gc-cdm g-config:merge --all
Примеры использования
Класс события
<?php namespace App\Events; use Codememory\Components\Event\Interfaces\EventInterface; class OutputTextEvent implements EventInterface { /** * @inheritDoc */ public function getListeners() : array { return []; } }
Добавление события и слушателя
<?php use Codememory\Components\Event\EventDispatcher; use App\Events\OutputTextEvent; require_once 'vendor/autoload.php'; $eventDispatcher = new EventDispatcher(); $eventDispatcher->addEvent(OutputTextEvent::class) ->addListener(function (OutputTextEvent $event) { echo 123; });
Выброс событий
use Codememory\Components\Event\Dispatcher; $dispatcher = new Dispatcher(); $dispatcher->dispatch(OutputTextEvent::class); // 123
Event(EventBuilderInterface) методы
-
setAlias(): EventBuilderInterfaceДобавить alias к событию- string $alias
-
addListener(): EventBuilderInterfaceДобавить слушателя к событию- string|callable $listener - namespace или callback слушателя
-
setParameters(): EventBuilderInterfaceДобавить параметры, которые будут переданы в конструктор события- array $parameters
Event(EventDataInterface) методы
-
getNamespace(): stringВозвращает namespace события -
getReflector(): ReflectionClassВозвращает рефлектор события -
getListeners(): arrayВозвращает массив слушателей события -
getParameters(): arrayВозвращает параметры для события
EventDispatcher методы
-
addEvent(): EventBuilderInterfaceДобавить новое событие -
addEventListener(): EventDispatcherInterfaceДобавить слушателя для события- string $eventName - namespace или alias события
- string|callable $listener
-
existEvent(): boolПроверить существование события- string $eventName - namespace или alias события
-
getEvent(): EventInterfaceПолучить событие- string $eventName - namespace или alias события
-
getEventListeners(): arrayВозвращает массив слушателей события- string $eventName - namespace или alias события
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-08-22