Modules   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
dl 0
loc 24
rs 10
c 0
b 0
f 0
wmc 1
lcom 0
cbo 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 10 1
1
<?php
2
/**
3
 * Webino™ (http://webino.sk)
4
 *
5
 * @link        https://github.com/webino for the canonical source repository
6
 * @copyright   Copyright (c) 2015-2017 Webino, s.r.o. (http://webino.sk)
7
 * @author      Peter Bačinský <[email protected]>
8
 * @license     BSD-3-Clause
9
 */
10
11
namespace WebinoAppLib\Feature;
12
13
use WebinoAppLib\Debugger\Bar\Factory\ModulesPanelFactory;
14
use WebinoAppLib\Debugger\Bar\ModulesPanel;
15
use WebinoAppLib\Factory\ModulesFactory;
16
use WebinoAppLib\Listener\ModulesListener;
17
use WebinoAppLib\Service\Modules as ModulesService;
18
use WebinoConfigLib\Feature\FeatureInterface;
19
20
/**
21
 * Class Modules
22
 */
23
class Modules extends Config implements
24
    FeatureInterface
25
{
26
    /**
27
     * Modules list config key
28
     */
29
    const MODULES = 'modules';
30
31
    /**
32
     * Configure an application modules
33
     *
34
     * @param array $modules
35
     */
36
    public function __construct(array $modules)
37
    {
38
        $this->mergeArray([$this::MODULES => $modules]);
39
40
        parent::__construct([
41
            new CoreService(ModulesService::class, ModulesFactory::class),
42
            new CoreListener(ModulesListener::class),
43
            new DebugBarPanel(ModulesPanel::NAME, ModulesPanel::class, ModulesPanelFactory::class),
44
        ]);
45
    }
46
}
47