Frases::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 36
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 18
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 17
c 1
b 0
f 0
nc 1
nop 17
dl 0
loc 36
ccs 18
cts 18
cp 1
crap 1
rs 9.7

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 2
    public function __construct(
44
        FraseInterface $frase1,
45
        FraseInterface $frase2,
46
        FraseInterface $frase3,
47
        FraseInterface $frase4,
48
        FraseInterface $frase5,
49
        FraseInterface $frase6,
50
        FraseInterface $frase7,
51
        FraseInterface $frase8,
52
        FraseInterface $frase9,
53
        FraseInterface $frase10,
54
        FraseInterface $frase11,
55
        FraseInterface $frase12,
56
        FraseInterface $frase13,
57
        FraseInterface $frase14,
58
        FraseInterface $frase15,
59
        FraseInterface $frase16,
60
        FraseInterface $frase17
61
    ) {
62 2
        $this->_frase1 = $frase1;
63 2
        $this->_frase2 = $frase2;
64 2
        $this->_frase3 = $frase3;
65 2
        $this->_frase4 = $frase4;
66 2
        $this->_frase5 = $frase5;
67 2
        $this->_frase6 = $frase6;
68 2
        $this->_frase7 = $frase7;
69 2
        $this->_frase8 = $frase8;
70 2
        $this->_frase9 = $frase9;
71 2
        $this->_frase10 = $frase10;
72 2
        $this->_frase11 = $frase11;
73 2
        $this->_frase12 = $frase12;
74 2
        $this->_frase13 = $frase13;
75 2
        $this->_frase14 = $frase14;
76 2
        $this->_frase15 = $frase15;
77 2
        $this->_frase16 = $frase16;
78 2
        $this->_frase17 = $frase17;
79 2
    }
80
81 1
    public function frase1(): FraseInterface
82
    {
83 1
        return $this->_frase1;
84
    }
85
86 1
    public function frase2(): FraseInterface
87
    {
88 1
        return $this->_frase2;
89
    }
90
91 1
    public function frase3(): FraseInterface
92
    {
93 1
        return $this->_frase3;
94
    }
95
96 1
    public function frase4(): FraseInterface
97
    {
98 1
        return $this->_frase4;
99
    }
100
101 1
    public function frase5(): FraseInterface
102
    {
103 1
        return $this->_frase5;
104
    }
105
106 1
    public function frase6(): FraseInterface
107
    {
108 1
        return $this->_frase6;
109
    }
110
111 1
    public function frase7(): FraseInterface
112
    {
113 1
        return $this->_frase7;
114
    }
115
116 1
    public function frase8(): FraseInterface
117
    {
118 1
        return $this->_frase8;
119
    }
120
121 1
    public function frase9(): FraseInterface
122
    {
123 1
        return $this->_frase9;
124
    }
125
126 1
    public function frase10(): FraseInterface
127
    {
128 1
        return $this->_frase10;
129
    }
130
131 1
    public function frase11(): FraseInterface
132
    {
133 1
        return $this->_frase11;
134
    }
135
136 1
    public function frase12(): FraseInterface
137
    {
138 1
        return $this->_frase12;
139
    }
140
141 1
    public function frase13(): FraseInterface
142
    {
143 1
        return $this->_frase13;
144
    }
145
146 1
    public function frase14(): FraseInterface
147
    {
148 1
        return $this->_frase14;
149
    }
150
151 1
    public function frase15(): FraseInterface
152
    {
153 1
        return $this->_frase15;
154
    }
155
156 1
    public function frase16(): FraseInterface
157
    {
158 1
        return $this->_frase16;
159
    }
160
161 1
    public function frase17(): FraseInterface
162
    {
163 1
        return $this->_frase17;
164
    }
165
}
166