Данный компонент является оберткой для обработки курса от Нацбанка.
Актуальный курс доступен по ссылке https://nationalbank.kz/rss/get_rates.cfm?fdate=23.02.2022
Предпочтительный способ установки - через composer
$ composer require darkfriend/php-tenge-rates
<?php
require __DIR__ . '/vendor/autoload.php';
use Darkfriend\TengeRates\CurrencyRates;
$rates = new CurrencyRates();
echo $rates->convertToTenge('USD', 100);
<?php
require __DIR__ . '/vendor/autoload.php';
use Darkfriend\TengeRates\CurrencyRates;
$rates = new CurrencyRates('23.08.2022');
echo $rates->convertFromTenge('GBP', 100);
Все возможные коды валют:
- AUD
- GBP
- DKK
- AED
- USD
- EUR
- CAD
- CNY
- KWD
- KGS
- LVL
- MDL
- NOK
- SAR
- RUB
- XDR
- SGD
- TRL
- UZS
- UAH
- SEK
- CHF
- EEK
- KRW
- JPY
- BYN
- PLN
- ZAR
- TRY
- HUF
- CZK
- TJS
- HKD
- BRL
- MYR
- AZN
- INR
- THB
- AMD
- GEL
- IRR
- MXN
Ниже предоставлен пример кода для прохождения по всем валютам.
Класс \Darkfriend\TengeRates\CurrencyRates
имплементирует интерфейсы \Countable
и \IteratorAggregate
,
так что с его объектами можно орудовать как с массивами.
<?php
require __DIR__ . '/vendor/autoload.php';
use Darkfriend\TengeRates\CurrencyRates;
$rates = new CurrencyRates();
/** @var \Darkfriend\TengeRates\Currency $rate */
foreach ($rates as $rate) {
echo "{$rate->name} - {$rate->price}";
}
По умолчанию лимит времени запроса стоит 1 секунду. Если вы хотите сменить его, то инициализируйте класс CurrencyRates
со вторым параметром $timeout
.
<?php
require __DIR__ . '/vendor/autoload.php';
use Darkfriend\TengeRates\CurrencyRates;
$rates = new CurrencyRates('23.08.2022', 15); // timeout 15 secs