3 Commits

Author SHA1 Message Date
as2252258 47979c6eab 改名 2021-12-08 11:32:32 +08:00
as2252258 cee00f58e3 改名 2021-12-03 15:44:06 +08:00
as2252258 ebbee7a5f0 update src/EventDispatch.php. 2021-11-30 07:56:06 +00:00
+14 -10
View File
@@ -2,8 +2,8 @@
namespace Kiri\Events; namespace Kiri\Events;
use Annotation\Inject; use Kiri\Abstracts\Component;
use Kiri\Abstracts\BaseObject; use Kiri\Kiri;
use Psr\EventDispatcher\EventDispatcherInterface; use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\EventDispatcher\StoppableEventInterface; use Psr\EventDispatcher\StoppableEventInterface;
@@ -11,23 +11,18 @@ use Psr\EventDispatcher\StoppableEventInterface;
/** /**
* *
*/ */
class EventDispatch extends BaseObject implements EventDispatcherInterface class EventDispatch extends Component implements EventDispatcherInterface
{ {
/**
* @var EventProvider
*/
#[Inject(EventProvider::class)]
public EventProvider $eventProvider;
/** /**
* @param object $event * @param object $event
* @return object * @return object
* @throws \ReflectionException
*/ */
public function dispatch(object $event): object public function dispatch(object $event): object
{ {
$lists = $this->eventProvider->getListenersForEvent($event); $lists = $this->provider()->getListenersForEvent($event);
foreach ($lists as $listener) { foreach ($lists as $listener) {
/** @var Struct $list */ /** @var Struct $list */
$listener($event); $listener($event);
@@ -39,4 +34,13 @@ class EventDispatch extends BaseObject implements EventDispatcherInterface
} }
/**
* @return EventProvider
* @throws \ReflectionException
*/
private function provider(): EventProvider
{
return Kiri::getDi()->get(EventProvider::class);
}
} }