ShippingLabel::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nc 1
nop 10
dl 0
loc 12
rs 9.4285
c 0
b 0
f 0

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
/*
4
 * This file is part of PHP CS Fixer.
5
 *
6
 * (c) Fabien Potencier <[email protected]>
7
 *     Dariusz Rumiński <[email protected]>
8
 *
9
 * This source file is subject to the MIT license that is bundled
10
 * with this source code in the file LICENSE.
11
 */
12
13
namespace Etrias\PaazlConnector\SoapTypes;
14
15
class ShippingLabel
16
{
17
    /**
18
     * @var \DateTime
19
     */
20
    protected $createdDate = null;
21
22
    /**
23
     * @var \DateTime
24
     */
25
    protected $scannedDate = null;
26
27
    /**
28
     * @var \DateTime
29
     */
30
    protected $deliveredDate = null;
31
32
    /**
33
     * @var \DateTime
34
     */
35
    protected $deliveredbbDate = null;
36
37
    /**
38
     * @var labelStatusType
39
     */
40
    protected $currentStatus = null;
41
42
    /**
43
     * @var string
44
     */
45
    protected $labelCode = null;
46
47
    /**
48
     * @var string
49
     */
50
    protected $trackingNumber = null;
51
52
    /**
53
     * @var anyURI
0 ignored issues
show
Bug introduced by
The type Etrias\PaazlConnector\SoapTypes\anyURI was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
54
     */
55
    protected $trackTraceUrl = null;
56
57
    /**
58
     * @var string
59
     */
60
    protected $batch = null;
61
62
    /**
63
     * @var carrierStatusHistoryType
64
     */
65
    protected $carrierStatus = null;
66
67
    /**
68
     * Constructor.
69
     *
70
     * @var \DateTime
71
     * @var \DateTime                $scannedDate
72
     * @var \DateTime                $deliveredDate
73
     * @var \DateTime                $deliveredbbDate
74
     * @var labelStatusType          $currentStatus
75
     * @var string                   $labelCode
76
     * @var string                   $trackingNumber
77
     * @var anyURI                   $trackTraceUrl
78
     * @var string                   $batch
79
     * @var carrierStatusHistoryType $carrierStatus
80
     *
81
     * @param mixed $createdDate
82
     * @param mixed $scannedDate
83
     * @param mixed $deliveredDate
84
     * @param mixed $deliveredbbDate
85
     * @param mixed $currentStatus
86
     * @param mixed $labelCode
87
     * @param mixed $trackingNumber
88
     * @param mixed $trackTraceUrl
89
     * @param mixed $batch
90
     * @param mixed $carrierStatus
91
     */
92
    public function __construct($createdDate, $scannedDate, $deliveredDate, $deliveredbbDate, $currentStatus, $labelCode, $trackingNumber, $trackTraceUrl, $batch, $carrierStatus)
93
    {
94
        $this->createdDate = $createdDate;
0 ignored issues
show
Documentation Bug introduced by
$createdDate is of type mixed, but the property $createdDate was declared to be of type DateTime. Are you sure that you always receive this specific sub-class here, or does it make sense to add an instanceof check?

Our type inference engine has found a suspicous assignment of a value to a property. This check raises an issue when a value that can be of a given class or a super-class is assigned to a property that is type hinted more strictly.

Either this assignment is in error or an instanceof check should be added for that assignment.

class Alien {}

class Dalek extends Alien {}

class Plot
{
    /** @var  Dalek */
    public $villain;
}

$alien = new Alien();
$plot = new Plot();
if ($alien instanceof Dalek) {
    $plot->villain = $alien;
}
Loading history...
95
        $this->scannedDate = $scannedDate;
96
        $this->deliveredDate = $deliveredDate;
97
        $this->deliveredbbDate = $deliveredbbDate;
98
        $this->currentStatus = $currentStatus;
99
        $this->labelCode = $labelCode;
100
        $this->trackingNumber = $trackingNumber;
101
        $this->trackTraceUrl = $trackTraceUrl;
102
        $this->batch = $batch;
103
        $this->carrierStatus = $carrierStatus;
104
    }
105
106
    /**
107
     * @return \DateTime
108
     */
109
    public function getCreatedDate()
110
    {
111
        return $this->createdDate;
112
    }
113
114
    /**
115
     * @param \DateTime $createdDate
116
     *
117
     * @return $this
118
     */
119
    public function setCreatedDate($createdDate)
120
    {
121
        $this->createdDate = $createdDate;
122
123
        return $this;
124
    }
125
126
    /**
127
     * @return \DateTime
128
     */
129
    public function getScannedDate()
130
    {
131
        return $this->scannedDate;
132
    }
133
134
    /**
135
     * @param \DateTime $scannedDate
136
     *
137
     * @return $this
138
     */
139
    public function setScannedDate($scannedDate)
140
    {
141
        $this->scannedDate = $scannedDate;
142
143
        return $this;
144
    }
145
146
    /**
147
     * @return \DateTime
148
     */
149
    public function getDeliveredDate()
150
    {
151
        return $this->deliveredDate;
152
    }
153
154
    /**
155
     * @param \DateTime $deliveredDate
156
     *
157
     * @return $this
158
     */
159
    public function setDeliveredDate($deliveredDate)
160
    {
161
        $this->deliveredDate = $deliveredDate;
162
163
        return $this;
164
    }
165
166
    /**
167
     * @return \DateTime
168
     */
169
    public function getDeliveredbbDate()
170
    {
171
        return $this->deliveredbbDate;
172
    }
173
174
    /**
175
     * @param \DateTime $deliveredbbDate
176
     *
177
     * @return $this
178
     */
179
    public function setDeliveredbbDate($deliveredbbDate)
180
    {
181
        $this->deliveredbbDate = $deliveredbbDate;
182
183
        return $this;
184
    }
185
186
    /**
187
     * @return labelStatusType
188
     */
189
    public function getCurrentStatus()
190
    {
191
        return $this->currentStatus;
192
    }
193
194
    /**
195
     * @param labelStatusType $currentStatus
196
     *
197
     * @return $this
198
     */
199
    public function setCurrentStatus($currentStatus)
200
    {
201
        $this->currentStatus = $currentStatus;
202
203
        return $this;
204
    }
205
206
    /**
207
     * @return string
208
     */
209
    public function getLabelCode()
210
    {
211
        return $this->labelCode;
212
    }
213
214
    /**
215
     * @param string $labelCode
216
     *
217
     * @return $this
218
     */
219
    public function setLabelCode($labelCode)
220
    {
221
        $this->labelCode = $labelCode;
222
223
        return $this;
224
    }
225
226
    /**
227
     * @return string
228
     */
229
    public function getTrackingNumber()
230
    {
231
        return $this->trackingNumber;
232
    }
233
234
    /**
235
     * @param string $trackingNumber
236
     *
237
     * @return $this
238
     */
239
    public function setTrackingNumber($trackingNumber)
240
    {
241
        $this->trackingNumber = $trackingNumber;
242
243
        return $this;
244
    }
245
246
    /**
247
     * @return anyURI
248
     */
249
    public function getTrackTraceUrl()
250
    {
251
        return $this->trackTraceUrl;
252
    }
253
254
    /**
255
     * @param anyURI $trackTraceUrl
256
     *
257
     * @return $this
258
     */
259
    public function setTrackTraceUrl($trackTraceUrl)
260
    {
261
        $this->trackTraceUrl = $trackTraceUrl;
262
263
        return $this;
264
    }
265
266
    /**
267
     * @return string
268
     */
269
    public function getBatch()
270
    {
271
        return $this->batch;
272
    }
273
274
    /**
275
     * @param string $batch
276
     *
277
     * @return $this
278
     */
279
    public function setBatch($batch)
280
    {
281
        $this->batch = $batch;
282
283
        return $this;
284
    }
285
286
    /**
287
     * @return carrierStatusHistoryType
288
     */
289
    public function getCarrierStatus()
290
    {
291
        return $this->carrierStatus;
292
    }
293
294
    /**
295
     * @param carrierStatusHistoryType $carrierStatus
296
     *
297
     * @return $this
298
     */
299
    public function setCarrierStatus($carrierStatus)
300
    {
301
        $this->carrierStatus = $carrierStatus;
302
303
        return $this;
304
    }
305
}
306