Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Class FixerConverter implements Converter {
- private $baseCurrency;
- private $convertedCurrencies = [];
- public function __construct(string $baseCurrency)
- {
- $this->baseCurrency = $baseCurrency;
- }
- private function getConversionRate(string $currency): string
- {
- if (!isset($savedConversionRates[$currency])) {
- $conversionRateJson = @file_get_contents('http://api.fixer.io/latest?base=' . $this->baseCurrency . '&symbols=' . $currency));
- if ($conversionRateJson === false) {
- echo 'Error: unexpected error retrieving currency conversion rate from API service.';
- }
- $conversionRateArr = json_decode($conversionRateJson, TRUE);
- $conversionRate = $conversionRateArr['rates'][$currency];
- $this->savedConversionRates[$currency] = $conversionRate;
- return $conversionRate;
- } else {
- return $savedConversionRates[$currency];
- }
- }
- public function convertToCurrency(string $amount, string $currency): float
- {
- return $amount * $this->getConversionRate($currency);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement