Данный компонент является оберткой для обработки курса от Нацбанка.
Актуальный курс доступен по ссылке http://www.nationalbank.kz/rss/rates.xml
Предпочтительный способ установки - через composer
$ composer require naffiq/php-tenge-rates
<?php
require __DIR__ . '/vendor/autoload.php';
use naffiq\tenge\CurrencyRates;
$rates = new CurrencyRates();
echo $rates->convertToTenge('USD', 100); // 33214 на момент написания примера
Возможные коды валют:
- USD
- RUR
- EUR
<?php
require __DIR__ . '/vendor/autoload.php';
use naffiq\tenge\CurrencyRatecs;
// URL для всех валют содержится в качестве константы в классе CurrencyRates
$rates = new CurrencyRates(CurrencyRates::URL_RATES_ALL);
echo $rates->convertToTenge('GBP', 100); // 41242 на момент написания примера
Все возможные коды валют:
- 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
Ниже предоставлен пример кода для прохождения по всем валютам.
Класс \naffiq\tenge\CurrencyRates
имлементирует интерфейсы \Countable
и \IteratorAggregate
,
так что с его объектами можно орудовать как с массивами.
<?php
require __DIR__ . '/vendor/autoload.php';
use naffiq\tenge\CurrencyRates;
$rates = new CurrencyRates();
foreach ($rates as $rate) {
/**
* @var \naffiq\tenge\Currency $rate
*/
echo "{$rate->title} - {$rate->price}";
}
По умолчанию лимит времени запроса стоит 1 секунду. Если вы хотите сменить его, то инициализируйте класс CurrencyRates
со вторым параметром $timeout
.
<?php
require __DIR__ . '/vendor/autoload.php';
use naffiq\tenge\CurrencyRates;
$rates = new CurrencyRates(CurrencyRates::URL_RATES_MAIN, 10); // $timeout == 10