mibo/货币

PHP ISO-4217标准库

1.2.1 2024-03-17 12:28 UTC

This package is auto-updated.

Last update: 2024-09-11 17:33:37 UTC


README

codecov

基于ISO-4217

实现

composer require mibo/currencies

用法

查找货币

$factory = new \MiBo\Engine\Utils\Currencies\ISO\ISOCurrencyProvider();

// Get By Alphabetic Code ("EUR")
$currency = $factory->findByAlphabeticalCode("EUR");

// Get By Numerical Code ("012")
$currency = $factory->findByNumericalCode("123");

// Get By Country Name
// Returns an array of currencies
$currencies = $factory->findByCountry("CZECHIA");

将可用的货币列表更改为

  • 添加自定义货币;
  • 只允许某些货币;
  • 更改货币数据,列表可以被覆盖
$factory->getLoader()->setResources(\MiBo\Engine\Utils\Currencies\ISO\ISOListLoader::SOURCE_LOCAL); 

按国家查找

应尽量避免通过国家查找货币。
虽然其他功能在找到所需货币时停止遍历列表,但getCurrencyByCountry函数会继续查找货币,直到列表中最后一个文件的末尾。如果已知一个国家只使用一种货币并且知道货币代码,这可能会延长这个过程。

货币类

$currency = new \MiBo\Engine\Utils\Currencies\ISO\ISOCurrency(/*...*/);

$currency->getAlphabeticalCode(); // "EUR"
$currency->getNumericalCode(); // "978"
$currency->getName(); // "Euro"
$currency->getMinorUnitRate(); // 2|null

小数单位比率

用于指定货币在decimal点后有多少位数字。
少数货币没有小数单位。
小数单位的例子可以是“cent”对于“欧元”。