1 | <?php |
||
6 | class EventManager |
||
7 | { |
||
8 | /** |
||
9 | * @var array |
||
10 | */ |
||
11 | private static $listeners = []; |
||
12 | |||
13 | /** |
||
14 | * @param EventInterface $event |
||
15 | */ |
||
16 | 1 | public function trigger(EventInterface $event) |
|
17 | { |
||
18 | 1 | foreach (self::$listeners as $listener) { |
|
19 | 1 | list($registeredEvent, $registeredListener) = $listener; |
|
20 | 1 | if (get_class($event) === $registeredEvent) { |
|
21 | 1 | call_user_func_array([$registeredListener, 'handle'], [$event]); |
|
22 | 1 | } |
|
23 | 1 | } |
|
24 | 1 | } |
|
25 | |||
26 | /** |
||
27 | * @param string $event |
||
28 | * @param string $listener |
||
29 | */ |
||
30 | 2 | public function listen($event, $listener) |
|
43 | |||
44 | /** |
||
45 | * @param string $listener |
||
46 | * @return bool |
||
47 | */ |
||
48 | 2 | private function isValidListener($listener) |
|
55 | } |
||
56 |