esoastor / event-manager
此包最新版本(0.0.7)没有提供许可证信息。
0.0.7
2023-04-02 14:04 UTC
README
创建监听器(实现 EventManager\Listener)创建事件(事件对象必须传递给监听器)
创建 EventManager\EventDispatcher
# prebuilded
$dispatcher = EventDispatcher::get();
# with custom provider
$provider = new EventManager\ListenerProvider(['success', 'error']);
$dispatcher = new EventDispacher($provider);
# add listeners
$dispatcher->addListeners('success', [
MyListeners\SendMail::class,
MyListeners\AddInfoToDatabase::class
]);
....
$event = MyEvents\NewUserRegistered($userInfo);
$dispatcher->dispatch('success', $event);
严格的事件名称
如果您只想使用先前声明的事件类型,可以使用严格名称模式。为此,您必须在使用它创建分发器之前自定义监听器提供者
$provider = new EventManager\ListenerProvider(['success', 'error']);
$provider->setEventTypesMode(EventManager\ListenerProvider::STRICT);
$dispatcher = new EventDispacher($provider);
通过 $dispatcher 添加更多事件名称
$dispatcher->addEventTypes(['start', 'finish]);