csaba215 / laravel-mnb
Laravel MNB (Magyar Nemzeti Bank)
v1.0.0
2025-05-03 17:31 UTC
Requires
- php: ^8.2
- ext-simplexml: *
- ext-soap: *
- illuminate/cache: 11.* | 12.*
- illuminate/support: 11.* | 12.*
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.22
- mockery/mockery: ^1.6.10
- orchestra/testbench: ^10.2.1
- phpunit/phpunit: ^11.5.18|^12.0.1
This package is auto-updated.
Last update: 2025-06-03 17:47:21 UTC
README
Requirements
Package requires Soap, SimpleXML and version 8.2 of PHP or higher.
Know-how
Please check out for corresponding documentations.
Install
composer require csaba215/laravel-mnb
Configuration
Export
php artisan vendor:publish --provider="Csaba215\Mnb\Laravel\MnbServiceProvider" --tag="config"
config/mnb-exchange.php
/* * Wsdl file location. * */ 'wsdl' => env('MNB_SOAP_WSDL', 'https://mnb.hu/arfolyamok.asmx?wsdl'), 'cache' => [ /* * Desired cache driver for service. * */ 'store' => env('MNB_CACHE_DRIVER', 'file'), /* * Minutes the cached currencies will be held. * Default: 24hrs (1440) * */ 'minutes' => env('MNB_CACHE_MINUTES', 1440), /* * Desired cache key prefix. * */ 'key' => env('MNB_CACHE_KEY', 'mnb'), ], ];
Usage
Access via facade
use Csaba215\Mnb\Laravel\Facade\Mnb $currency = Mnb::exchangeRate('EUR');
Resolve by application container
$currency = app(\Csaba215\Mnb\Laravel\Client::class)->exchangeRate('EUR');
Access refresh date by reference
You can check the feed date by passing a $date variable to some methods. These methods will make variable to be a Carbon instance.
Mnb::exchangeRate("EUR", "2025-04-22");
Available methods
Will use cache
These methods will use cache.
- exchangeRate($code, $date = null): single Currency
- currentExchangeRates(): array of currencies
- currencies(): array of strings (each is currency code)
- hasCurrency($code): bool