TCMB'ın yayınladığı döviz kuru bilgilerine günlük ya da geçmişe dönük ulaşabilir, para birimlerini dönüştürebilirsiniz.
🛠️ Paketi composer ile projenize dahil edin;
composer require mlevent/tcmb
use Mlevent\Tcmb\Tcmb;
$tcmb = new Tcmb;
// Dolar kuruna ait detaylar
var_dump($tcmb->get('USD'));
// Bu kullanım da aynı sonucu verecektir
var_dump($tcmb->getUsd());
Bu örnek, aşağıdaki gibi bir Currency
nesnesi döndürecektir;
Mlevent\Tcmb\Currency Object
(
[currencyCode] => USD
[currencyName] => US DOLLAR
[currencyAlias] => ABD DOLARI
[forexBuying] => 27.0254
[forexSelling] => 27.0741
[banknoteBuying] => 27.0065
[banknoteSelling] => 27.1147
[crossRateUSD] =>
[crossRateOther] =>
)
Nesne elemanlarına ulaşmak için;
echo $tcmb->getUsd()->forexSelling; // 27.0741
Tcmb'nin sağladığı geçmiş tarihli kur verilerine de ulaşabilirsiniz;
$tcmb = (new Tcmb)->setDate('16/05/2022');
Belirtilen tarih haftasonu veya resmi tatillere denk geliyorsa, kur bilgisi dönmeyecektir.
Para birimlerini dönüştürmek için;
echo $tcmb->convert('USD', 'TRY'); // 27.0741
Aşağıdaki şu kullanım da aynı sonucu verecektir;
echo $tcmb->convertUsdTry(10); // 270.741
Performans iyileştirmesi için önbellek kullanmak isteyebilirsiniz. Aşağıdaki örnek mlevent/file-cache sınıfı kullanılmıştır. Farklı bir önbellekleme yapısı kullanıyorsanız aynı yolu takip edebilirsiniz;
use Mlevent\FileCache\FileCache;
use Mlevent\Tcmb\Tcmb;
$tcmb = new Tcmb;
// Veriler 60 saniye boyunca diskte saklanacak
$data = (new FileCache)->refresh('exchange-rates', function () use ($tcmb) {
return $tcmb->fetchExchangeRates();
}, 60);
// Veri içe aktarılıyor
$tcmb->setExchangeRates($data);
echo $tcmb->getUsd()->forexSelling; // 27.0741
Kullanılabilecek diğer metodlar;
/**
* Döviz Listesi
* @return array
*/
$tcmb->getCurrencies();
/**
* Tüm Döviz Cinslerine Ait Kur Bilgileri
* @return array
*/
$tcmb->getExchangeRates();
/**
* TCMB Bülten Yayınlanma Tarihi
* @return string
*/
$tcmb->getBulletinDate();
/**
* TCMB Bülten Numarası
* @return string
*/
$tcmb->getBulletinNumber();
TCMB'ın verilerini yayınladığı para birimleri;
Adı | Kodu | Adı | Kodu | |||
---|---|---|---|---|---|---|
🇺🇸 | ABD Doları | USD | 🇦🇿 | Azerbaycan Yeni Manata | AZN | |
🇪🇺 | Euro | EUR | 🇦🇪 | Birleşik Arap Emirlikleri Dirhemi | AED | |
🇬🇧 | İngiliz Sterlini | GBP | 🇩🇰 | Danimarka Kronu | DKK | |
🇯🇵 | Japon Yeni | JPY | 🇸🇪 | İsveç Kronu | SEK | |
🇷🇺 | Rus Rublesi | RUB | 🇰🇼 | Kuveyt Dinarı | KWD | |
🇸🇦 | Suudi Arabistan Riyali | SAR | 🇳🇴 | Norveç Kronu | NOK | |
🇨🇭 | İsviçre Frangı | CHF | 🇷🇴 | Rumen Leyi | RON | |
🇦🇹 | Avustralya Doları | AUD | 🇮🇷 | İran Riyali | IRR | |
🇨🇦 | Kanada Doları | CAD | 🇵🇰 | Pakistan Rupisi | PKR | |
🇨🇳 | Çin Yuanı | CNY | 🇶🇦 | Katar Riyali | QAR | |
🇧🇬 | Bulgar Levası | BGN | 🇰🇷 | Güney Kore Wonu | KRW |
İletişim için ghergedan@gmail.com adresine e-posta gönderin.