Frases::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 44
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 22
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 21
c 1
b 0
f 0
nc 1
nop 21
dl 0
loc 44
ccs 22
cts 22
cp 1
crap 1
rs 9.584

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php declare(strict_types=1);
2
3
namespace src\frases;
4
5
use src\interfaces\FraseInterface;
6
7
class Frases
8
{
9
    private FraseInterface $_frase1;
10
11
    private FraseInterface $_frase2;
12
13
    private FraseInterface $_frase3;
14
15
    private FraseInterface $_frase4;
16
17
    private FraseInterface $_frase5;
18
19
    private FraseInterface $_frase6;
20
21
    private FraseInterface $_frase7;
22
23
    private FraseInterface $_frase8;
24
25
    private FraseInterface $_frase9;
26
27
    private FraseInterface $_frase10;
28
29
    private FraseInterface $_frase11;
30
31
    private FraseInterface $_frase12;
32
33
    private FraseInterface $_frase13;
34
35
    private FraseInterface $_frase14;
36
37
    private FraseInterface $_frase15;
38
39
    private FraseInterface $_frase16;
40
41
    private FraseInterface $_frase17;
42
43
    private FraseInterface $_frase18;
44
45
    private FraseInterface $_frase19;
46
47
    private FraseInterface $_frase20;
48
49
    private FraseInterface $_frase21;
50
51 2
    public function __construct(
52
        FraseInterface $frase1,
53
        FraseInterface $frase2,
54
        FraseInterface $frase3,
55
        FraseInterface $frase4,
56
        FraseInterface $frase5,
57
        FraseInterface $frase6,
58
        FraseInterface $frase7,
59
        FraseInterface $frase8,
60
        FraseInterface $frase9,
61
        FraseInterface $frase10,
62
        FraseInterface $frase11,
63
        FraseInterface $frase12,
64
        FraseInterface $frase13,
65
        FraseInterface $frase14,
66
        FraseInterface $frase15,
67
        FraseInterface $frase16,
68
        FraseInterface $frase17,
69
        FraseInterface $frase18,
70
        FraseInterface $frase19,
71
        FraseInterface $frase20,
72
        FraseInterface $frase21
73
    ) {
74 2
        $this->_frase1 = $frase1;
75 2
        $this->_frase2 = $frase2;
76 2
        $this->_frase3 = $frase3;
77 2
        $this->_frase4 = $frase4;
78 2
        $this->_frase5 = $frase5;
79 2
        $this->_frase6 = $frase6;
80 2
        $this->_frase7 = $frase7;
81 2
        $this->_frase8 = $frase8;
82 2
        $this->_frase9 = $frase9;
83 2
        $this->_frase10 = $frase10;
84 2
        $this->_frase11 = $frase11;
85 2
        $this->_frase12 = $frase12;
86 2
        $this->_frase13 = $frase13;
87 2
        $this->_frase14 = $frase14;
88 2
        $this->_frase15 = $frase15;
89 2
        $this->_frase16 = $frase16;
90 2
        $this->_frase17 = $frase17;
91 2
        $this->_frase18 = $frase18;
92 2
        $this->_frase19 = $frase19;
93 2
        $this->_frase20 = $frase20;
94 2
        $this->_frase21 = $frase21;
95 2
    }
96
97 1
    public function frase1(): FraseInterface
98
    {
99 1
        return $this->_frase1;
100
    }
101
102 1
    public function frase2(): FraseInterface
103
    {
104 1
        return $this->_frase2;
105
    }
106
107 1
    public function frase3(): FraseInterface
108
    {
109 1
        return $this->_frase3;
110
    }
111
112 1
    public function frase4(): FraseInterface
113
    {
114 1
        return $this->_frase4;
115
    }
116
117 1
    public function frase5(): FraseInterface
118
    {
119 1
        return $this->_frase5;
120
    }
121
122 1
    public function frase6(): FraseInterface
123
    {
124 1
        return $this->_frase6;
125
    }
126
127 1
    public function frase7(): FraseInterface
128
    {
129 1
        return $this->_frase7;
130
    }
131
132 1
    public function frase8(): FraseInterface
133
    {
134 1
        return $this->_frase8;
135
    }
136
137 1
    public function frase9(): FraseInterface
138
    {
139 1
        return $this->_frase9;
140
    }
141
142 1
    public function frase10(): FraseInterface
143
    {
144 1
        return $this->_frase10;
145
    }
146
147 1
    public function frase11(): FraseInterface
148
    {
149 1
        return $this->_frase11;
150
    }
151
152 1
    public function frase12(): FraseInterface
153
    {
154 1
        return $this->_frase12;
155
    }
156
157 1
    public function frase13(): FraseInterface
158
    {
159 1
        return $this->_frase13;
160
    }
161
162 1
    public function frase14(): FraseInterface
163
    {
164 1
        return $this->_frase14;
165
    }
166
167 1
    public function frase15(): FraseInterface
168
    {
169 1
        return $this->_frase15;
170
    }
171
172 1
    public function frase16(): FraseInterface
173
    {
174 1
        return $this->_frase16;
175
    }
176
177 1
    public function frase17(): FraseInterface
178
    {
179 1
        return $this->_frase17;
180
    }
181
182 1
    public function frase18(): FraseInterface
183
    {
184 1
        return $this->_frase18;
185
    }
186
187 1
    public function frase19(): FraseInterface
188
    {
189 1
        return $this->_frase19;
190
    }
191
192 1
    public function frase20(): FraseInterface
193
    {
194 1
        return $this->_frase20;
195
    }
196
197 1
    public function frase21(): FraseInterface
198
    {
199 1
        return $this->_frase21;
200
    }
201
}
202