This commit is contained in:
2021-08-24 18:10:07 +08:00
parent 2db271dab3
commit 575f4b8520
80 changed files with 6 additions and 6 deletions
+37
View File
@@ -0,0 +1,37 @@
<?php
namespace Kiri\Events;
use Annotation\Inject;
use Kiri\Abstracts\BaseObject;
/**
*
*/
class EventDispatch extends BaseObject
{
#[Inject(EventProvider::class)]
public EventProvider $eventProvider;
/**
* @param object $triggerEvent
* @return object
*/
public function dispatch(object $triggerEvent): object
{
$lists = $this->eventProvider->getListenersForEvent($triggerEvent);
foreach ($lists as $listener) {
/** @var Struct $list */
$listener($triggerEvent);
if ($triggerEvent instanceof StoppableEventInterface && $triggerEvent->isPropagationStopped()) {
break;
}
}
return $triggerEvent;
}
}