mibo / 货币
PHP ISO-4217标准库
1.2.1
2024-03-17 12:28 UTC
Requires
- php: ^8.2
- ext-curl: *
- ext-dom: *
- ext-simplexml: *
- ext-xmlreader: *
- psr/log: ^3.0
Requires (Dev)
- phpstan/phpstan: ^1.5
- phpunit/php-invoker: ^4.0
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^3.6
README
基于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”对于“欧元”。