StayByNightValue::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 12
ccs 0
cts 12
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 10
nc 1
nop 9
crap 2

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
2
3
namespace Gueststream\PMS\IQWare\API;
4
5
class StayByNightValue
6
{
7
8
    /**
9
     * @var \DateTime $Date
10
     */
11
    protected $Date = null;
12
13
    /**
14
     * @var int $Night
15
     */
16
    protected $Night = null;
17
18
    /**
19
     * @var float $NightRate
20
     */
21
    protected $NightRate = null;
22
23
    /**
24
     * @var float $NightRateBase
25
     */
26
    protected $NightRateBase = null;
27
28
    /**
29
     * @var float $NightOthers
30
     */
31
    protected $NightOthers = null;
32
33
    /**
34
     * @var float $NightTaxes
35
     */
36
    protected $NightTaxes = null;
37
38
    /**
39
     * @var float $NightTotal
40
     */
41
    protected $NightTotal = null;
42
43
    /**
44
     * @var float $NightRateSpecial
45
     */
46
    protected $NightRateSpecial = null;
47
48
    /**
49
     * @var float $NightYeildReference
50
     */
51
    protected $NightYeildReference = null;
52
53
    /**
54
     * @param \DateTime $Date
55
     * @param int $Night
56
     * @param float $NightRate
57
     * @param float $NightRateBase
58
     * @param float $NightOthers
59
     * @param float $NightTaxes
60
     * @param float $NightTotal
61
     * @param float $NightRateSpecial
62
     * @param float $NightYeildReference
63
     */
64
    public function __construct(\DateTime $Date, $Night, $NightRate, $NightRateBase, $NightOthers, $NightTaxes, $NightTotal, $NightRateSpecial, $NightYeildReference)
65
    {
66
        $this->Date = $Date->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $Date->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $Date.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
67
        $this->Night = $Night;
68
        $this->NightRate = $NightRate;
69
        $this->NightRateBase = $NightRateBase;
70
        $this->NightOthers = $NightOthers;
71
        $this->NightTaxes = $NightTaxes;
72
        $this->NightTotal = $NightTotal;
73
        $this->NightRateSpecial = $NightRateSpecial;
74
        $this->NightYeildReference = $NightYeildReference;
75
    }
76
77
    /**
78
     * @return \DateTime
79
     */
80
    public function getDate()
81
    {
82
        if ($this->Date == null) {
83
            return null;
84
        } else {
85
            try {
86
                return new \DateTime($this->Date);
87
            } catch (\Exception $e) {
88
                return false;
89
            }
90
        }
91
    }
92
93
    /**
94
     * @param \DateTime $Date
95
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
96
     */
97
    public function setDate(\DateTime $Date)
98
    {
99
        $this->Date = $Date->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $Date->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $Date.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
100
        return $this;
101
    }
102
103
    /**
104
     * @return int
105
     */
106
    public function getNight()
107
    {
108
        return $this->Night;
109
    }
110
111
    /**
112
     * @param int $Night
113
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
114
     */
115
    public function setNight($Night)
116
    {
117
        $this->Night = $Night;
118
        return $this;
119
    }
120
121
    /**
122
     * @return float
123
     */
124
    public function getNightRate()
125
    {
126
        return $this->NightRate;
127
    }
128
129
    /**
130
     * @param float $NightRate
131
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
132
     */
133
    public function setNightRate($NightRate)
134
    {
135
        $this->NightRate = $NightRate;
136
        return $this;
137
    }
138
139
    /**
140
     * @return float
141
     */
142
    public function getNightRateBase()
143
    {
144
        return $this->NightRateBase;
145
    }
146
147
    /**
148
     * @param float $NightRateBase
149
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
150
     */
151
    public function setNightRateBase($NightRateBase)
152
    {
153
        $this->NightRateBase = $NightRateBase;
154
        return $this;
155
    }
156
157
    /**
158
     * @return float
159
     */
160
    public function getNightOthers()
161
    {
162
        return $this->NightOthers;
163
    }
164
165
    /**
166
     * @param float $NightOthers
167
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
168
     */
169
    public function setNightOthers($NightOthers)
170
    {
171
        $this->NightOthers = $NightOthers;
172
        return $this;
173
    }
174
175
    /**
176
     * @return float
177
     */
178
    public function getNightTaxes()
179
    {
180
        return $this->NightTaxes;
181
    }
182
183
    /**
184
     * @param float $NightTaxes
185
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
186
     */
187
    public function setNightTaxes($NightTaxes)
188
    {
189
        $this->NightTaxes = $NightTaxes;
190
        return $this;
191
    }
192
193
    /**
194
     * @return float
195
     */
196
    public function getNightTotal()
197
    {
198
        return $this->NightTotal;
199
    }
200
201
    /**
202
     * @param float $NightTotal
203
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
204
     */
205
    public function setNightTotal($NightTotal)
206
    {
207
        $this->NightTotal = $NightTotal;
208
        return $this;
209
    }
210
211
    /**
212
     * @return float
213
     */
214
    public function getNightRateSpecial()
215
    {
216
        return $this->NightRateSpecial;
217
    }
218
219
    /**
220
     * @param float $NightRateSpecial
221
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
222
     */
223
    public function setNightRateSpecial($NightRateSpecial)
224
    {
225
        $this->NightRateSpecial = $NightRateSpecial;
226
        return $this;
227
    }
228
229
    /**
230
     * @return float
231
     */
232
    public function getNightYeildReference()
233
    {
234
        return $this->NightYeildReference;
235
    }
236
237
    /**
238
     * @param float $NightYeildReference
239
     * @return \Gueststream\PMS\IQWare\API\StayByNightValue
240
     */
241
    public function setNightYeildReference($NightYeildReference)
242
    {
243
        $this->NightYeildReference = $NightYeildReference;
244
        return $this;
245
    }
246
}
247