Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php declare(strict_types=1); namespace Money\Exchange; use Exchanger\Contract\Exchang..
Decoded Output download
<?php
declare(strict_types=1);
namespace Money\Exchange;
use Exchanger\Contract\ExchangeRateProvider;
use Exchanger\CurrencyPair as ExchangerCurrencyPair;
use Exchanger\Exception\Exception as ExchangerException;
use Exchanger\ExchangeRateQuery;
use Money\Currency;
use Money\CurrencyPair;
use Money\Exception\UnresolvableCurrencyPairException;
use Money\Exchange;
use function assert;
use function is_numeric;
use function sprintf;
/**
* Provides a way to get exchange rate from a third-party source and return a currency pair.
*/
final class ExchangerExchange implements Exchange
{
public function __construct(private readonly ExchangeRateProvider $exchanger)
{
}
public function quote(Currency $baseCurrency, Currency $counterCurrency): CurrencyPair
{
try {
$query = new ExchangeRateQuery(
new ExchangerCurrencyPair($baseCurrency->getCode(), $counterCurrency->getCode())
);
$rate = $this->exchanger->getExchangeRate($query);
} catch (ExchangerException) {
throw UnresolvableCurrencyPairException::createFromCurrencies($baseCurrency, $counterCurrency);
}
$rateValue = sprintf('%.14F', $rate->getValue());
assert(is_numeric($rateValue));
return new CurrencyPair($baseCurrency, $counterCurrency, $rateValue);
}
}
?>
Did this file decode correctly?
Original Code
<?php
declare(strict_types=1);
namespace Money\Exchange;
use Exchanger\Contract\ExchangeRateProvider;
use Exchanger\CurrencyPair as ExchangerCurrencyPair;
use Exchanger\Exception\Exception as ExchangerException;
use Exchanger\ExchangeRateQuery;
use Money\Currency;
use Money\CurrencyPair;
use Money\Exception\UnresolvableCurrencyPairException;
use Money\Exchange;
use function assert;
use function is_numeric;
use function sprintf;
/**
* Provides a way to get exchange rate from a third-party source and return a currency pair.
*/
final class ExchangerExchange implements Exchange
{
public function __construct(private readonly ExchangeRateProvider $exchanger)
{
}
public function quote(Currency $baseCurrency, Currency $counterCurrency): CurrencyPair
{
try {
$query = new ExchangeRateQuery(
new ExchangerCurrencyPair($baseCurrency->getCode(), $counterCurrency->getCode())
);
$rate = $this->exchanger->getExchangeRate($query);
} catch (ExchangerException) {
throw UnresolvableCurrencyPairException::createFromCurrencies($baseCurrency, $counterCurrency);
}
$rateValue = sprintf('%.14F', $rate->getValue());
assert(is_numeric($rateValue));
return new CurrencyPair($baseCurrency, $counterCurrency, $rateValue);
}
}
Function Calls
None |
Stats
MD5 | eaf10297b53c68fe019317f09457d791 |
Eval Count | 0 |
Decode Time | 101 ms |