Passed
Push — master ( 5f4c59...0a76e5 )
by Fabian
01:35
created

TickerModel::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nc 1
nop 10
dl 0
loc 22
rs 9.2
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
 * @author  Fabian Hanisch
4
 * @since   17.07.2017 20:34
5
 * @version 1.0
6
 */
7
8
namespace HanischIt\KrakenApi\Model\GetTicker;
9
10
/**
11
 * Class TickerModel
12
 *
13
 * @package HanischIt\KrakenApi\Model\GetTicker
14
 */
15
class TickerModel
16
{
17
    /**
18
     * @var string
19
     */
20
    private $assetPair;
21
    /**
22
     * @var AskBidModel
23
     */
24
    private $ask;
25
    /**
26
     * @var AskBidModel
27
     */
28
    private $bid;
29
    /**
30
     * @var
31
     */
32
    private $lastTradeClosed;
33
    /**
34
     * @var DayPriceModel
35
     */
36
    private $volume;
37
    /**
38
     * @var DayPriceModel
39
     */
40
    private $volumeWeightedAverage;
41
    /**
42
     * @var DayPriceModel
43
     */
44
    private $numberOfTrades;
45
    /**
46
     * @var DayPriceModel
47
     */
48
    private $low;
49
    /**
50
     * @var DayPriceModel
51
     */
52
    private $high;
53
    /**
54
     * @var float
55
     */
56
    private $todaysOpeningPrice;
57
58
    /**
59
     * TickerModel constructor.
60
     *
61
     * @param string           $assetPair
62
     * @param AskBidModel      $ask
63
     * @param AskBidModel      $bid
64
     * @param PriceVolumeModel $lastTradeClosed
65
     * @param DayPriceModel    $volume
66
     * @param DayPriceModel    $volumeWeightedAverage
67
     * @param DayPriceModel    $numberOfTrades
68
     * @param DayPriceModel    $low
69
     * @param DayPriceModel    $high
70
     * @param float            $todaysOpeningPrice
71
     */
72
    public function __construct(
73
        $assetPair,
74
        AskBidModel $ask,
75
        AskBidModel $bid,
76
        PriceVolumeModel $lastTradeClosed,
77
        DayPriceModel $volume,
78
        DayPriceModel $volumeWeightedAverage,
79
        DayPriceModel $numberOfTrades,
80
        DayPriceModel $low,
81
        DayPriceModel $high,
82
        $todaysOpeningPrice
83
    ) {
84
        $this->assetPair = $assetPair;
85
        $this->ask = $ask;
86
        $this->bid = $bid;
87
        $this->lastTradeClosed = $lastTradeClosed;
88
        $this->volume = $volume;
89
        $this->volumeWeightedAverage = $volumeWeightedAverage;
90
        $this->numberOfTrades = $numberOfTrades;
91
        $this->low = $low;
92
        $this->high = $high;
93
        $this->todaysOpeningPrice = $todaysOpeningPrice;
94
    }
95
96
    /**
97
     * @return string
98
     */
99
    public function getAssetPair()
100
    {
101
        return $this->assetPair;
102
    }
103
104
    /**
105
     * @return AskBidModel
106
     */
107
    public function getAsk()
108
    {
109
        return $this->ask;
110
    }
111
112
    /**
113
     * @return AskBidModel
114
     */
115
    public function getBid()
116
    {
117
        return $this->bid;
118
    }
119
120
    /**
121
     * @return mixed
122
     */
123
    public function getLastTradeClosed()
124
    {
125
        return $this->lastTradeClosed;
126
    }
127
128
    /**
129
     * @return DayPriceModel
130
     */
131
    public function getVolume()
132
    {
133
        return $this->volume;
134
    }
135
136
    /**
137
     * @return DayPriceModel
138
     */
139
    public function getVolumeWeightedAverage()
140
    {
141
        return $this->volumeWeightedAverage;
142
    }
143
144
    /**
145
     * @return DayPriceModel
146
     */
147
    public function getNumberOfTrades()
148
    {
149
        return $this->numberOfTrades;
150
    }
151
152
    /**
153
     * @return DayPriceModel
154
     */
155
    public function getLow()
156
    {
157
        return $this->low;
158
    }
159
160
    /**
161
     * @return DayPriceModel
162
     */
163
    public function getHigh()
164
    {
165
        return $this->high;
166
    }
167
168
    /**
169
     * @return float
170
     */
171
    public function getTodaysOpeningPrice()
172
    {
173
        return $this->todaysOpeningPrice;
174
    }
175
}
176