44
55use InvalidArgumentException ;
66use Money \Currencies ;
7- use Money \Currency ;
87use Money \Exception \ParserException ;
98use Money \MoneyParser ;
109use Money \Parser \AggregateMoneyParser ;
@@ -36,9 +35,7 @@ public static function parse($value, $currency = null, $bitCointDigits = 2)
3635 return static ::fromMoney ($ value );
3736 }
3837
39- if (is_string ($ currency )) {
40- $ currency = new Currency ($ currency );
41- }
38+ $ currency = static ::parseCurrency ($ currency );
4239
4340 if (is_int ($ value ) || filter_var ($ value , FILTER_VALIDATE_INT ) !== false ) {
4441 return new Money ($ value , $ currency );
@@ -72,7 +69,7 @@ public static function parse($value, $currency = null, $bitCointDigits = 2)
7269 * Parse by aggregate.
7370 *
7471 * @param string $money
75- * @param string|null $fallbackCurrency
72+ * @param \Money\Currency| string|null $fallbackCurrency
7673 * @param MoneyParser[] $parsers
7774 * @return \Cknow\Money\Money
7875 */
@@ -87,7 +84,7 @@ public static function parseByAggregate($money, $fallbackCurrency = null, array
8784 * Parse by bitcoin.
8885 *
8986 * @param string $money
90- * @param string|null $fallbackCurrency
87+ * @param \Money\Currency| string|null $fallbackCurrency
9188 * @param int $fractionDigits
9289 * @return \Cknow\Money\Money
9390 */
@@ -102,7 +99,7 @@ public static function parseByBitcoin($money, $fallbackCurrency = null, $fractio
10299 * Parse by decimal.
103100 *
104101 * @param string $money
105- * @param string|null $fallbackCurrency
102+ * @param \Money\Currency| string|null $fallbackCurrency
106103 * @param \Money\Currencies|null $currencies
107104 * @return \Cknow\Money\Money
108105 */
@@ -117,7 +114,7 @@ public static function parseByDecimal($money, $fallbackCurrency = null, Currenci
117114 * Parse by intl.
118115 *
119116 * @param string $money
120- * @param string|null $fallbackCurrency
117+ * @param \Money\Currency| string|null $fallbackCurrency
121118 * @param string|null $locale
122119 * @param \Money\Currencies|null $currencies
123120 * @param int $style
@@ -140,7 +137,7 @@ public static function parseByIntl(
140137 * Parse by intl localized decimal.
141138 *
142139 * @param string $money
143- * @param string|null $fallbackCurrency
140+ * @param \Money\Currency| string|null $fallbackCurrency
144141 * @param string|null $locale
145142 * @param \Money\Currencies|null $currencies
146143 * @param int $style
@@ -164,14 +161,12 @@ public static function parseByIntlLocalizedDecimal(
164161 *
165162 * @param \Money\MoneyParser $parser
166163 * @param string $money
167- * @param string|null $fallbackCurrency
164+ * @param \Money\Currency| string|null $fallbackCurrency
168165 * @return \Cknow\Money\Money
169166 */
170167 public static function parseByParser (MoneyParser $ parser , $ money , $ fallbackCurrency = null )
171168 {
172- if (is_string ($ fallbackCurrency )) {
173- $ fallbackCurrency = new Currency ($ fallbackCurrency );
174- }
169+ $ fallbackCurrency = static ::parseCurrency ($ fallbackCurrency );
175170
176171 return static ::convert ($ parser ->parse ((string ) $ money , $ fallbackCurrency ));
177172 }
0 commit comments