不可变 PHP 货币转换器
发布时间 作者 Paul Redmond
gocanto/converter
是由 Gustavo Ocanto 开发的 Composer 包,它是一个不可变的、与数据无关的 PHP 货币转换器。
相关内容:Laravel Money 是一个用于在 Laravel 项目中格式化货币的包。
您需要自己提供货币转换数据的数据库或存储库,并为转换实现数据层。这是一个项目中的示例存储库
<?php namespace Gocanto\Converter\Examples; use Gocanto\Converter\CurrencyValue;use Gocanto\Converter\Interfaces\CurrenciesRepositoryInterface; class CurrenciesRepositoryExample implements CurrenciesRepositoryInterface{ /** * @param string $code * @return CurrencyValue */ public function getCurrentRate(string $code) : CurrencyValue { // here, you need to write any related logic to query your DB. Once you have this info, // you will have to create the currency value object with the valid info as so: return new CurrencyValue('U.S. Dollars', 'USD', '$', 0.731271); }}
接下来,这是一个由数据存储库支持的货币转换示例
use Gocanto\Converter\Examples\CurrenciesRepositoryExample;use Gocanto\Converter\Converter;use Gocanto\Converter\RoundedNumber; $repository = new CurrenciesRepositoryExample;$converter = new Converter($repository); $conversion = $converter ->withAmount(RoundedNumber::make(10)) ->withCurrency('SGD') ->convertTo('USD');
您可以在 GitHub 上 gocanto/converter 上了解有关此包的更多信息,获取完整的安装说明,并查看源代码。