Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 47979c6eab | |||
| cee00f58e3 |
+14
-10
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
namespace Kiri\Events;
|
namespace Kiri\Events;
|
||||||
|
|
||||||
use Note\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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user