vasilevich / currencyconverter
A simple currency converter purely converting currency without any additional overhead. is able to use Bank Of Israel, Bank Of Europe and Denmark as of now, as a base.
1.0.6
2019-11-09 16:59 UTC
README
Another simple self hosted currency converter based only on
free government data sources but any other data source can be added as-well.
has serialization/deserialization built in to allow you to save/cache the converters along with their last update timestamps,
thus avoiding unnecessary requests if you wish.
Installation
First, you will need to install Composer following the instructions on their site.
Then, simply run the following command:
composer require vasilevich/currencyconverter
Usage Example
<?php require_once __DIR__ . "./vendor/autoload.php"; use vasilevich\currencyconverter\CurrencySourceBankOfEurope; use vasilevich\currencyconverter\CurrencySourceBankOfIsrael; use vasilevich\currencyconverter\CurrencySourceDenemarkNationalBank; use vasilevich\currencyconverter\CurrencySourceFromSerialization; $converter = new CurrencySourceBankOfEurope(); // use european bank var_dump($converter->getCurrencyList()->convert("EUR", "USD", 1)); // -> 1 euro to usd through Europe bank var_dump($converter->getCurrencyList()->convert("USD", "EUR", 1)); // -> 1 usd to euro through Europe bank var_dump($converter->getCurrencyList()->convert("ILS", "EUR", 1)); // -> 1 ils to euro through Europe bank var_dump($converter->getCurrencyList()->convert("EUR", "ILS", 1)); // -> 1 euro to ils through Europe bank $converter = new CurrencySourceBankOfIsrael(); //use israeli bank var_dump($converter->getCurrencyList()->convert("EUR", "USD", 1)); // -> 1 euro to usd through Israel Bank var_dump($converter->getCurrencyList()->convert("USD", "EUR", 1)); // -> 1 usd to euro through Israel Bank var_dump($converter->getCurrencyList()->convert("ILS", "EUR", 1)); // -> 1 ils to euro through Israel Bank var_dump($converter->getCurrencyList()->convert("EUR", "ILS", 1)); // -> 1 euro to ils through Israel Bank $converter = new CurrencySourceDenemarkNationalBank(); //use denemark national bank var_dump($converter->getCurrencyList()->convert("EUR", "USD", 1)); // -> 1 euro to usd through Denemark national Bank var_dump($converter->getCurrencyList()->convert("USD", "EUR", 1)); // -> 1 usd to euro through Denemark national Bank var_dump($converter->getCurrencyList()->convert("ILS", "EUR", 1)); // -> 1 ils to euro through Denemark national Bank var_dump($converter->getCurrencyList()->convert("EUR", "ILS", 1)); // -> 1 euro to ils through Denemark national Bank $serializedConverter = $converter->serialize(); // convert the object to string, ready for caching/saving/transferring by your own logic $unserializedConverter = new CurrencySourceFromSerialization($serializedConverter); //obtain the serialized converter from anywhere and deserialize the converter back into use var_dump($unserializedConverter->getCurrencyList()->convert("ILS", "USD", 4)); //test converter