greksazoo / mnb-exchange-laravel
这是一个针对 Laravel 的 MNB(匈牙利国家银行)汇率查询包。
1.1.8
2023-02-14 11:13 UTC
Requires
- php: ^7.4|^8.0|^8.1|^8.2
- ext-simplexml: *
- ext-soap: *
- illuminate/cache: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ^1.5
- orchestra/testbench: ^v6.0|^v7.0
- phpstan/phpstan: ^1.9.17
- phpunit/phpunit: ^9.0|^10.0
README
这是一个适用于 Laravel v8 或更高版本的 MNB 汇率查询包。
要求
此包需要 PHP v7.4 或更高版本,以及 Soap 和 SimpleXml。未在 Laravel 的先前版本上进行测试。
专业知识
此包主要基于 MNB 包 和 MNB Laravel 包 构建。
安装
您可以通过 composer 安装此包。
composer require greksazoo/mnb-exchange-laravel
配置
导出
php artisan vendor:publish --provider="Greksazoo\MnbExchangeLaravel\MnbExchangeLaravelServiceProvider" --tag="config"
config/mnb-exchange.php
/* * Wsdl file location. * */ 'wsdl' => env('MNB_SOAP_WSDL', 'http://www.mnb.hu/arfolyamok.asmx?wsdl'), 'cache' => [ /* * Desired cache driver for service. * */ 'store' => env('MNB_CACHE_DRIVER', 'file'), /* * Minutes the cached currencies will be held for. * Default: 24hrs (1440) * */ 'timeout' => env('MNB_CACHE_MINUTES', 1440), ]
使用
通过外观访问
use Greksazoo\MnbExchangeLaravel\Facade\Mnb $currency = Mnb::currentExchangeRate('EUR'); echo $currency->code; // 'EUR' echo $currency->getCode(); // 'EUR' echo $currency->unit; // '1' echo $currency->getUnit(); // '1' echo $currency->amount; // '350' echo $currency->getAmount(); // '350'
通过应用容器解析
$currency = app(\Greksazoo\MnbExchangeLaravel\MnbExchangeLaravel::class)->currentExchangeRate('EUR');
通过引用访问刷新日期
您可以通过向某些方法传递 $date 变量来检查数据源日期。这些方法将变量转换为 Carbon 实例。
Mnb::exchangeRates($date); $date->isToday();
可用方法
不使用缓存
这些方法不会使用和更新缓存。
- currentExchangeRate($code, &$date = null): Currency
- currentExchangeRates(&$date = null): Currency 数组
将使用缓存
这些方法将使用缓存。
- exchangeRate($code, &$date = null): 单个 Currency
- exchangeRates(&$date = null): Currency 数组
- currencies(): 字符串数组(每个都是货币代码)
- hasCurrency($code): bool
测试
composer test
更新日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果您发现任何安全问题,请通过电子邮件 zoli.greksa@gmail.com 而不是使用问题跟踪器。
鸣谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。
Laravel 包模板
此包是使用 Laravel 包模板 生成的。