Completed
Push — master ( 579110...b52e58 )
by Pierre
02:10
created

TInit   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 95
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 21
c 1
b 0
f 0
dl 0
loc 95
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setEnabled() 0 3 1
A init() 0 12 1
1
<?php
2
3
namespace App\Middlewares\Reuse;
4
5
use App\Kernel;
6
use App\Config;
7
use App\Http\Request;
8
use App\Http\Response;
9
use App\Container;
10
use \Monolog\Logger;
11
12
trait TInit
13
{
14
15
    /**
16
     * kernel
17
     *
18
     * @var Kernel
19
     */
20
    protected $kernel;
21
22
    /**
23
     * config
24
     *
25
     * @var Config
26
     */
27
    protected $config;
28
29
    /**
30
     * config middlewares params
31
     *
32
     * @var array
33
     */
34
    protected $configParams;
35
36
    /**
37
     * request
38
     *
39
     * @var Request
40
     */
41
    protected $request;
42
43
    /**
44
     * request headers
45
     *
46
     * @var array
47
     */
48
    protected $headers;
49
50
    /**
51
     * request
52
     *
53
     * @var Response
54
     */
55
    protected $response;
56
57
    /**
58
     * logger
59
     *
60
     * @var Logger
61
     */
62
    protected $logger;
63
64
    /**
65
     * enabled set from middlewares params
66
     *
67
     * @var Boolean
68
     */
69
    protected $enabled;
70
71
    /**
72
     * uri prefix to match if middleware is required
73
     *
74
     * @var string
75
     */
76
    private $prefix;
77
78
    /**
79
     * init minimal requirements settings
80
     *
81
     * @param array $container
82
     * @return void
83
     */
84
    protected function init(Container $container)
85
    {
86
        $this->config = $container->getService(\App\Config::class);
87
        $this->configParams =  $this->config->getSettings(
88
            Config::_MIDDLEWARES
89
        )[get_called_class()];
90
        $this->request = $container->getService(\App\Http\Request::class);
91
        $this->headers = $this->request->getHeaders();
92
        $this->response = $container->getService(\App\Http\Response::class);
93
        $this->logger = $container->getService(\Monolog\Logger::class);
94
        $this->enabled = $this->configParams['enabled'];
95
        $this->prefix = $this->configParams['prefix'];
96
    }
97
98
    /**
99
     * set enabled from $enable
100
     *
101
     * @param boolean $enable
102
     * @return void
103
     */
104
    protected function setEnabled(bool $enable)
105
    {
106
        $this->enabled = $enable;
107
    }
108
}
109