PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.15.4
GiveWP – Donation Plugin and Fundraising Platform v4.15.4
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 All 255 releases
give / vendor / moneyphp / money / src / Currency.php

Currency.php in GiveWP – Donation Plugin and Fundraising Platform 4.15.4, at vendor/moneyphp/money/src/Currency.php

88 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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