PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / moneyphp / money / src / Currency.php
ameliabooking / vendor / moneyphp / money / src Last commit date
Calculator 2 years ago Currencies 2 years ago Exception 2 years ago Exchange 2 years ago Formatter 2 years ago PHPUnit 2 years ago Parser 2 years ago Calculator.php 6 years ago Converter.php 2 years ago Currencies.php 2 years ago Currency.php 2 years ago CurrencyPair.php 2 years ago Exception.php 6 years ago Exchange.php 2 years ago Money.php 2 years ago MoneyFactory.php 5 years ago MoneyFormatter.php 2 years ago MoneyParser.php 6 years ago Number.php 2 years ago
Currency.php
88 lines
1 <?php
2
3 namespace Money;
4
5 /**
6 * Currency Value Object.
7 *
8 * Holds Currency specific data.
9 *
10 * @author Mathias Verraes
11 *
12 * @psalm-immutable
13 */
14 final class Currency implements \JsonSerializable
15 {
16 /**
17 * Currency code.
18 *
19 * @var string
20 */
21 private $code;
22
23 /**
24 * @param string $code
25 */
26 public function __construct($code)
27 {
28 if (!is_string($code)) {
29 throw new \InvalidArgumentException('Currency code should be string');
30 }
31
32 if ($code === '') {
33 throw new \InvalidArgumentException('Currency code should not be empty string');
34 }
35
36 $this->code = $code;
37 }
38
39 /**
40 * Returns the currency code.
41 *
42 * @return string
43 */
44 public function getCode()
45 {
46 return $this->code;
47 }
48
49 /**
50 * Checks whether this currency is the same as an other.
51 *
52 * @return bool
53 */
54 public function equals(Currency $other)
55 {
56 return $this->code === $other->code;
57 }
58
59 /**
60 * Checks whether this currency is available in the passed context.
61 *
62 * @return bool
63 */
64 public function isAvailableWithin(Currencies $currencies)
65 {
66 return $currencies->contains($this);
67 }
68
69 /**
70 * @return string
71 */
72 public function __toString()
73 {
74 return $this->code;
75 }
76
77 /**
78 * {@inheritdoc}
79 *
80 * @return string
81 */
82 #[\ReturnTypeWillChange]
83 public function jsonSerialize()
84 {
85 return $this->code;
86 }
87 }
88