Completed
Pull Request — master (#3)
by Klochok
04:39
created

AdditionalPages   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 34
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 34
ccs 0
cts 16
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 15 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
     * @var array
12
     */
13
    public $params = [];
14
15
    /**
16
     * @return object
17
     */
18
    public static function instantiate(): object
19
    {
20
        return Yii::$container->get(static::class);
21
    }
22
23
    /**
24
     * @return AdditionalPage[]
25
     */
26
    public function getPages(): array
27
    {
28
        $pages = Yii::$app->params['module.pages.additional.rules'];
29
30
        if (empty($pages)) {
31
            return [];
32
        }
33
34
        $list = [];
35
        foreach ($pages as $label => $params) {
36
            $list[] = new AdditionalPage($label, array_merge($params, $this->params));
37
        }
38
39
        return $list;
40
    }
41
}
42