Completed
Push — master ( 18488c...878056 )
by Park Jong-Hun
02:25
created

EventManager::getEventManager()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 10
rs 9.4285
cc 2
eloc 5
nc 2
nop 0
1
<?php
2
3
namespace Core\Event;
4
5
use JBZoo\Event\EventManager as ZooEventManager;
6
7
class EventManager
8
{
9
    public static function registerListener(array $eventListeners)
10
    {
11
        $register = new EventListenerRegister();
12
        $register->setEventListener($eventListeners);
13
        $register->register();
14
    }
15
16
    public static function register($eventName, callable $handler, $priority = null) {
17
        self::getEventManager()->on($eventName, $handler, $priority);
18
    }
19
20
    public static function trigger($eventName, array $arguments = [], callable $callback = null)
21
    {
22
        return self::getEventManager()->trigger($eventName, $arguments, $callback);
23
    }
24
25
    /**
26
     * @return ZooEventManager
27
     */
28
    private static function getEventManager()
29
    {
30
        static $instance = null;
31
32
        if ($instance === null) {
33
            $instance = new ZooEventManager();
34
        }
35
36
        return $instance;
37
    }
38
}
39