Bize Ulaşın! 0 (850) 969 22 38 |   
Teknolojinin Rengi !

PHP için TCMB Döviz Kurları Kütüphanesi

///PHP için TCMB Döviz Kurları Kütüphanesi

PHP için TCMB Döviz Kurları Kütüphanesi

Nedir?

T.C. Merkez Bankası tarafından http://www.tcmb.gov.tr/kurlar/today.xml adresinde yayınlanan güncel döviz kurlarını çeken açık kaynaklı bir PHP kütüphanesidir.

Ne İşe Yarar?

Bu kütüphane ile günlük döviz kurları otomatik olarak çekilmektedir. TCMB sitesinde yayınlanan tüm kurlar için mevcut “Alış”, “Satış”, “Efektif Alış” ve “Efektif Satış” değerlerine ulaşabilir ve projenizde kolaylıkla kullanabilirsiniz.

Nasıl Kullanılır?

Teknomavi\Tcmb composer ile kurulabilir.
Projenizdeki composer.json dosyasında require bölümüne “teknomavi/tcmb”: “dev-master”  eklemeniz ve composer update komutunu çalıştırmanız yeterlidir. Composer kurulumu/kullanımı hakkında bilgiye ihtiyacınız varsa bu bağlantıdaki dökümanı incelebilirsiniz.

Eğer kütüphaneyi composer desteklemeyen bir projede kullanacaksanız dağıtımları buradan inceleyebilir ve güncel sürümünü indirebilirsiniz.

Kullanım Örnekleri:

Kütüphanenin en temel kullanım şekli aşağıdadır. Bu örnek her çağrıldığında TCMB üzerindeki güncel kurları çekmektedir.

include "../vendor/autoload.php";
use Teknomavi\Tcmb\Doviz;

$doviz = new Doviz();
echo " USD Alış:" . $doviz->kurAlis("USD");
echo " USD Satış:" . $doviz->kurSatis("USD");
echo " EURO Efektif Alış:" . $doviz->kurAlis("EUR", Doviz::TYPE_EFEKTIFALIS);
echo " EURO Efektif Satış:" . $doviz->kurSatis("EUR", Doviz::TYPE_EFEKTIFSATIS);

Kütüphanenin Her Seferinde TCMB Üzerinden Data Çekmesi Nasıl Engellenir?

TCMB Sitesinden çekilen veriler, sınıfı oluştururken vereceğiniz bir Doctrine\Common\Cache\CacheProvider  üzerinde tutulabilir. Bu sayede performans artışı sağlanabilir. Doctrine Cache hakkında detaylı bilgiye buradan ulaşabilirsiniz.

use Teknomavi\Tcmb\Doviz;

// Doctrine Memcache Init
$memcache = new Memcache();
$memcache->connect('localhost', 11211);
$cacheDriver = new \Doctrine\Common\Cache\MemcacheCache();
$cacheDriver->setMemcache($memcache);

// Doviz Kütüphanesi
$doviz = new Doviz($cacheDriver);
echo " USD Alış:" . $doviz->kurAlis("USD");
echo " USD Satış:" . $doviz->kurSatis("EUR");
echo " EURO Efektif Alış:" . $doviz->kurAlis("EUR", Doviz::TYPE_EFEKTIFALIS);
echo " EURO Efektif Satış:" . $doviz->kurSatis("EUR", Doviz::TYPE_EFEKTIFSATIS);

Doctrine\Common\Cache\CacheProvider harici bir önbellek yapısı kullanıyorum. Ne yapabilirim?

Bu durumda sınıfın oluşturduğu data değişkenini, kütüphane içindeki getData()  fonksiyonu kendiniz saklayıp, tekrar kullanacağınızda setData($data)  fonksiyonu ile sınıfa tekrar verebilirsiniz.

use Teknomavi\Tcmb\Doviz;

// Doviz Kütüphanesi
$doviz = new Doviz();

// Cache Kodları Başladı
$fileName = dirname(__FILE__) . "/data.json";
if (file_exists($fileName)) {
    $data       = json_decode(file_get_contents($fileName), true);
    $cacheValid = $doviz->setData($data);
} else {
    $cacheValid = false;
}
if (!$cacheValid) {
    file_put_contents($fileName, json_encode($doviz->getData()));
}
// Cache Kodları Bitti
echo " USD Alış:" . $doviz->kurAlis("USD");
echo " USD Satış:" . $doviz->kurSatis("USD");
echo " EURO Efektif Alış:" . $doviz->kurAlis("EUR", \Teknomavi\Tcmb\Doviz::TYPE_EFEKTIFALIS);
echo " EURO Efektif Satış:" . $doviz->kurSatis("EUR", \Teknomavi\Tcmb\Doviz::TYPE_EFEKTIFSATIS);

 

 

Fork me on GitHub

By |2017-05-22T02:13:12+00:0018 Ağustos 2015|PHP, Yazılım|Yorum yok

About the Author:

Göktuğ Öztürk 1999 yılından bu yana kamu ve özel sektörde birçok projede yazılımcı pozisyonundan IT Director pozisyonuna kadar birçok pozisyonda görev almıştır. 2012 yılında TeknoMavi'nin kurulması ile birlikte danışmanlık rolü üstlenmiş ve Bilişim Danışmanı olarak bugüne kadar kazandığı deneyimleri sizlerle paylaşmaktadır.

Siz de fikrinizi belirtin

This site uses Akismet to reduce spam. Learn how your comment data is processed.