naffiq / php-tenge-rates
PHP wrapper for Kazakhstani Official National Bank tenge currency rates
Installs: 3 842
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 3
Open Issues: 1
pkg:composer/naffiq/php-tenge-rates
Requires
- rquadling/lalit: ^1.5
 
Requires (Dev)
- codeclimate/php-test-reporter: ^0.4.4
 - phpunit/phpunit: 5.7
 
This package is auto-updated.
Last update: 2025-10-07 22:56:12 UTC
README
Данный компонент является оберткой для обработки курса от Нацбанка.
Актуальный курс доступен по ссылке 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