Test Failed
Pull Request — master (#4)
by Artem
02:34
created

AbstractEventServiceProvider   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 29
rs 10
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A bindEvents() 0 6 2
A register() 0 4 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PrettyBx\Support\Providers;
6
7
use PrettyBx\Support\Contracts\ServiceProviderContract;
8
use PrettyBx\Support\Contracts\ConfigurationContract;
9
use PrettyBx\Support\Config\Manager as ConfigManager;
10
11
abstract class AbstractEventServiceProvider implements ServiceProviderContract
12
{
13
    /**
14
     * @var array $events
15
     */
16
    protected array $events = [];
17
18
    /**
19
     * @inheritDoc
20
     */
21
    public function register(): void
22
    {
23
        if (! empty($this->events)) {
24
            $this->bindEvents();
25
        }
26
    }
27
28
    /**
29
     * Binds handlers to events
30
     *
31
     * @access	protected
32
     * @return	void
33
     */
34
    protected function bindEvents(): void
35
    {
36
        $manager = container()->make('\Bitrix\Main\EventManager');
37
38
        foreach ($this->events as $event) {
39
            $manager->addEventHandler($event['module'], $event['event'], $event['handler'], false, $event['sort']);
40
        }
41
    }
42
}
43