__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 14
ccs 0
cts 14
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 12
nc 1
nop 11
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 GetAvailRatesAndRoomNumbersB2BAnywhere
6
{
7
8
    /**
9
     * @var int $intGUID
10
     */
11
    protected $intGUID = null;
12
13
    /**
14
     * @var \DateTime $AFromDate
15
     */
16
    protected $AFromDate = null;
17
18
    /**
19
     * @var \DateTime $AToDate
20
     */
21
    protected $AToDate = null;
22
23
    /**
24
     * @var int $AStayLength
25
     */
26
    protected $AStayLength = null;
27
28
    /**
29
     * @var int $AccomodationType
30
     */
31
    protected $AccomodationType = null;
32
33
    /**
34
     * @var int $GuestCount
35
     */
36
    protected $GuestCount = null;
37
38
    /**
39
     * @var string $strAttributes
40
     */
41
    protected $strAttributes = null;
42
43
    /**
44
     * @var string $strLocalizations
45
     */
46
    protected $strLocalizations = null;
47
48
    /**
49
     * @var string $ListOfRoomTypes
50
     */
51
    protected $ListOfRoomTypes = null;
52
53
    /**
54
     * @var string $ListOfRateCodes
55
     */
56
    protected $ListOfRateCodes = null;
57
58
    /**
59
     * @var string $ChidrenBreakDown
60
     */
61
    protected $ChidrenBreakDown = null;
62
63
    /**
64
     * @param int $intGUID
65
     * @param \DateTime $AFromDate
66
     * @param \DateTime $AToDate
67
     * @param int $AStayLength
68
     * @param int $AccomodationType
69
     * @param int $GuestCount
70
     * @param string $strAttributes
71
     * @param string $strLocalizations
72
     * @param string $ListOfRoomTypes
73
     * @param string $ListOfRateCodes
74
     * @param string $ChidrenBreakDown
75
     */
76
    public function __construct($intGUID, \DateTime $AFromDate, \DateTime $AToDate, $AStayLength, $AccomodationType, $GuestCount, $strAttributes, $strLocalizations, $ListOfRoomTypes, $ListOfRateCodes, $ChidrenBreakDown)
77
    {
78
        $this->intGUID = $intGUID;
79
        $this->AFromDate = $AFromDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $AFromDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $AFromDate.

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...
80
        $this->AToDate = $AToDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $AToDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $AToDate.

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...
81
        $this->AStayLength = $AStayLength;
82
        $this->AccomodationType = $AccomodationType;
83
        $this->GuestCount = $GuestCount;
84
        $this->strAttributes = $strAttributes;
85
        $this->strLocalizations = $strLocalizations;
86
        $this->ListOfRoomTypes = $ListOfRoomTypes;
87
        $this->ListOfRateCodes = $ListOfRateCodes;
88
        $this->ChidrenBreakDown = $ChidrenBreakDown;
89
    }
90
91
    /**
92
     * @return int
93
     */
94
    public function getIntGUID()
95
    {
96
        return $this->intGUID;
97
    }
98
99
    /**
100
     * @param int $intGUID
101
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
102
     */
103
    public function setIntGUID($intGUID)
104
    {
105
        $this->intGUID = $intGUID;
106
        return $this;
107
    }
108
109
    /**
110
     * @return \DateTime
111
     */
112
    public function getAFromDate()
113
    {
114
        if ($this->AFromDate == null) {
115
            return null;
116
        } else {
117
            try {
118
                return new \DateTime($this->AFromDate);
119
            } catch (\Exception $e) {
120
                return false;
121
            }
122
        }
123
    }
124
125
    /**
126
     * @param \DateTime $AFromDate
127
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
128
     */
129
    public function setAFromDate(\DateTime $AFromDate)
130
    {
131
        $this->AFromDate = $AFromDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $AFromDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $AFromDate.

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...
132
        return $this;
133
    }
134
135
    /**
136
     * @return \DateTime
137
     */
138
    public function getAToDate()
139
    {
140
        if ($this->AToDate == null) {
141
            return null;
142
        } else {
143
            try {
144
                return new \DateTime($this->AToDate);
145
            } catch (\Exception $e) {
146
                return false;
147
            }
148
        }
149
    }
150
151
    /**
152
     * @param \DateTime $AToDate
153
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
154
     */
155
    public function setAToDate(\DateTime $AToDate)
156
    {
157
        $this->AToDate = $AToDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $AToDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $AToDate.

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...
158
        return $this;
159
    }
160
161
    /**
162
     * @return int
163
     */
164
    public function getAStayLength()
165
    {
166
        return $this->AStayLength;
167
    }
168
169
    /**
170
     * @param int $AStayLength
171
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
172
     */
173
    public function setAStayLength($AStayLength)
174
    {
175
        $this->AStayLength = $AStayLength;
176
        return $this;
177
    }
178
179
    /**
180
     * @return int
181
     */
182
    public function getAccomodationType()
183
    {
184
        return $this->AccomodationType;
185
    }
186
187
    /**
188
     * @param int $AccomodationType
189
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
190
     */
191
    public function setAccomodationType($AccomodationType)
192
    {
193
        $this->AccomodationType = $AccomodationType;
194
        return $this;
195
    }
196
197
    /**
198
     * @return int
199
     */
200
    public function getGuestCount()
201
    {
202
        return $this->GuestCount;
203
    }
204
205
    /**
206
     * @param int $GuestCount
207
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
208
     */
209
    public function setGuestCount($GuestCount)
210
    {
211
        $this->GuestCount = $GuestCount;
212
        return $this;
213
    }
214
215
    /**
216
     * @return string
217
     */
218
    public function getStrAttributes()
219
    {
220
        return $this->strAttributes;
221
    }
222
223
    /**
224
     * @param string $strAttributes
225
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
226
     */
227
    public function setStrAttributes($strAttributes)
228
    {
229
        $this->strAttributes = $strAttributes;
230
        return $this;
231
    }
232
233
    /**
234
     * @return string
235
     */
236
    public function getStrLocalizations()
237
    {
238
        return $this->strLocalizations;
239
    }
240
241
    /**
242
     * @param string $strLocalizations
243
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
244
     */
245
    public function setStrLocalizations($strLocalizations)
246
    {
247
        $this->strLocalizations = $strLocalizations;
248
        return $this;
249
    }
250
251
    /**
252
     * @return string
253
     */
254
    public function getListOfRoomTypes()
255
    {
256
        return $this->ListOfRoomTypes;
257
    }
258
259
    /**
260
     * @param string $ListOfRoomTypes
261
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
262
     */
263
    public function setListOfRoomTypes($ListOfRoomTypes)
264
    {
265
        $this->ListOfRoomTypes = $ListOfRoomTypes;
266
        return $this;
267
    }
268
269
    /**
270
     * @return string
271
     */
272
    public function getListOfRateCodes()
273
    {
274
        return $this->ListOfRateCodes;
275
    }
276
277
    /**
278
     * @param string $ListOfRateCodes
279
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
280
     */
281
    public function setListOfRateCodes($ListOfRateCodes)
282
    {
283
        $this->ListOfRateCodes = $ListOfRateCodes;
284
        return $this;
285
    }
286
287
    /**
288
     * @return string
289
     */
290
    public function getChidrenBreakDown()
291
    {
292
        return $this->ChidrenBreakDown;
293
    }
294
295
    /**
296
     * @param string $ChidrenBreakDown
297
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersB2BAnywhere
298
     */
299
    public function setChidrenBreakDown($ChidrenBreakDown)
300
    {
301
        $this->ChidrenBreakDown = $ChidrenBreakDown;
302
        return $this;
303
    }
304
}
305