AdditionalPages::getPages()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
dl 0
loc 13
ccs 0
cts 11
cp 0
rs 9.8333
c 0
b 0
f 0
cc 3
nc 3
nop 0
crap 12
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