Bootstrap::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 2
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace modules\admin;
4
5
use Yii;
6
7
/**
8
 * Class Bootstrap
9
 * @package modules\admin
10
 */
11
class Bootstrap
12
{
13
    /**
14
     * Bootstrap constructor.
15
     */
16
    public function __construct()
17
    {
18
        $this->registerTranslate();
19
        $this->registerRules();
20
    }
21
22
    /**
23
     * Translate
24
     */
25
    protected function registerTranslate()
26
    {
27
        $i18n = Yii::$app->i18n;
28
        $i18n->translations['modules/admin/*'] = [
29
            'class' => 'yii\i18n\PhpMessageSource',
30
            'basePath' => '@modules/admin/messages',
31
            'fileMap' => [
32
                'modules/admin/module' => 'module.php',
33
                'modules/admin/users' => 'users.php',
34
                'modules/admin/rbac' => 'rbac.php',
35
            ],
36
        ];
37
    }
38
39
    /**
40
     * Rules
41
     */
42
    protected function registerRules()
43
    {
44
        $urlManager = Yii::$app->urlManager;
45
        $urlManager->addRules($this->rules());
46
    }
47
48
    /**
49
     * @return array
50
     */
51
    protected function rules()
52
    {
53
        $rules = [
54
            'admin/users' => 'admin/user/index',
55
            'admin/user/<id:\d+>/<_a:[\w\-]+>' => 'admin/user/<_a>',
56
            'admin/users/<_a:[\w\-]+>' => 'admin/user/<_a>',
57
58
            'admin' => 'admin/default/index',
59
            'admin/<_a:[\w\-]+>' => 'admin/default/<_a>',
60
        ];
61
        return $rules;
62
    }
63
}
64