AdditionalPages   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 4
dl 0
loc 41
ccs 0
cts 15
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A instantiate() 0 4 1
A getPages() 0 13 3
1
<?php
2
3
namespace hiqdev\yii2\modules\pages\components;
4
5
use Yii;
6
use yii\base\Component;
7
8
class AdditionalPages extends Component
9
{
10
    /**
11
     * Global params
12
     * @var array
13
     */
14
    public $params = [];
15
16
    /**
17
     * @var array
18
     */
19
    public $pages = [];
20
21
    /**
22
     * @param string $alias
23
     * @return object
24
     * @throws \yii\base\InvalidConfigException
25
     * @throws \yii\di\NotInstantiableException
26
     */
27
    public static function instantiate(string $alias): object
28
    {
29
        return Yii::$container->get($alias);
30
    }
31
32
    /**
33
     * @return AdditionalPage[]
34
     */
35
    public function getPages(): array
36
    {
37
        if (empty($this->pages)) {
38
            return [];
39
        }
40
41
        $list = [];
42
        foreach ($this->pages as $label => $params) {
43
            $list[] = new AdditionalPage($label, array_merge($params, $this->params));
44
        }
45
46
        return $list;
47
    }
48
}
49