Completed
Push — master ( 1155e5...128653 )
by Sergey
05:42
created

EventEmitter::trigger()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
ccs 7
cts 7
cp 1
rs 9.4285
cc 3
eloc 4
nc 3
nop 2
crap 3
1
<?php
2
3
namespace Isswp101\Persimmon\Event;
4
5
class EventEmitter
6
{
7
    protected $events = [];
8
9 54
    public function on($event, callable $callback)
10
    {
11 54
        if (!isset($this->events[$event])) {
12 54
            $this->events[$event] = [];
13 54
        }
14 54
        $this->events[$event][] = $callback;
15 54
    }
16
17 22
    public function trigger($event, $data = null)
18
    {
19 22
        if (isset($this->events[$event])) {
20 22
            foreach ($this->events[$event] as $callback) {
21 22
                $callback($data);
22 22
            }
23 22
        }
24 22
    }
25
}
26