Skip to content

Commit e71ca34

Browse files
committed
Merge branch 'master' of github.com:teknomavi/tcmb
2 parents 332abcb + 5f36755 commit e71ca34

File tree

3 files changed

+24
-27
lines changed

3 files changed

+24
-27
lines changed

.travis.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@ env:
55
language: php
66

77
php:
8-
- 5.4
9-
- 5.5
108
- 5.6
119
- 7.0
12-
- hhvm
1310

1411
before_script:
1512
- phpenv rehash

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# T.C. Merkez Bankası Kur Kütüphanesi [![Build Status](https://travis-ci.org/teknomavi/tcmb.svg?branch=master)](https://travis-ci.org/teknomavi/tcmb)
2-
## Teknomavi\Tcmb Nedir ?
3-
T.C. Merkez Bankası tarafından http://www.tcmb.gov.tr/kurlar/today.xml adresinde yayınlanan güncel döviz kurlarını okumak için kullanılan açık kaynak bir PHP kütüphanesidir.
2+
## Teknomavi\Tcmb Nedir?
3+
T.C. Merkez Bankası tarafından https://www.tcmb.gov.tr/kurlar/today.xml adresinde yayınlanan güncel döviz kurlarını okumak için kullanılan açık kaynak bir PHP kütüphanesidir.
44

5-
## Neler Yapılabilir ?
5+
## Neler Yapılabilir?
66
Bu kütüphane ile günlük döviz kurları otomatik olarak çekilmektedir.
77
TCMB sitesinde yayınlanan tüm kurlar için mevcut "Alış", "Satış", "Efektif Alış" ve "Efektif Satış" değerlerine ulaşabilirsiniz.
88

9-
## Nasıl Kullanılır ?
10-
Teknomavi\Tcmb composer ile kurulabilir.
11-
Projenizdeki composer.json dosyasında require bölümüne *"teknomavi/tcmb": "dev-master"* eklemeniz ve *composer update* komutunu çalıştırmanız yeterlidir.
9+
## Nasıl Kullanılır?
10+
Teknomavi\Tcmb Composer ile kurulabilir.
11+
Projenizdeki `composer.json` dosyasında `require` bölümüne `"teknomavi/tcmb": "dev-master"` eklemeniz ve `composer update` komutunu çalıştırmanız yeterlidir.
1212

13-
composer kurulumu/kullanımı hakkında bilgiye ihtiyacınız varsa [bu bağlantıdaki](http://www.teknomavi.com/yazilim/php/composer-paket-yoneticisi-nedir-nasil-kurulur-nasil-kullanilir/) dökümanı incelebilirsiniz.
13+
Composer kurulumu/kullanımı hakkında bilgiye ihtiyacınız varsa [bu bağlantıdaki](http://www.teknomavi.com/yazilim/php/composer-paket-yoneticisi-nedir-nasil-kurulur-nasil-kullanilir/) dökümanı incelebilirsiniz.
1414

1515
### Örnek Kod
1616
Kütüphanenin en temel kullanımı aşağıdaki gibidir;
@@ -26,8 +26,8 @@ echo " EURO Efektif Satış:" . $doviz->kurSatis("EUR", Doviz::TYPE_EFEKTIFSATIS
2626

2727
## Sıkça Sorulan Sorular
2828
### Kütüphanenin Her Seferinde TCMB Üzerinden Data Çekmesi Nasıl Engellenir?
29-
TCMB Sitesinden çekilen veriler, sınıfı oluştururken vereceğiniz bir Doctrine\Common\Cache\CacheProvider üzerinde tutulabilir.
30-
Bu sayede her seferinde tcmb sitesinden çekilmeyeceği için performans artışı sağlanabilir.
29+
TCMB Sitesinden çekilen veriler, sınıfı oluştururken vereceğiniz bir `Doctrine\Common\Cache\CacheProvider` üzerinde tutulabilir.
30+
Bu sayede her seferinde TCMB sitesinden çekilmeyeceği için performans artışı sağlanabilir.
3131
Doctrine Cache hakkında detaylı bilgiye [buradan](http://doctrine-orm.readthedocs.org/en/latest/reference/caching.html) ulaşabilirsiniz.
3232

3333
Örnek: Doctrine Memcache CacheProvider ile kullanımı
@@ -49,9 +49,9 @@ echo " EURO Efektif Satış:" . $doviz->kurSatis("EUR", Doviz::TYPE_EFEKTIFSATIS
4949
```
5050

5151
### Doctrine\Common\Cache\CacheProvider harici bir önbellek yapısı kullanıyorum. Ne yapabilirim?
52-
Sınıfın oluşturduğu data değişkenini getData() fonksiyonu kendiniz saklayıp, tekrar kullanacağınızda setData($data) fonksiyonu ile sınıfa tekrar verebilirsiniz.
52+
Sınıfın oluşturduğu data değişkenini `getData()` fonksiyonu kendiniz saklayıp, tekrar kullanacağınızda `setData($data)` fonksiyonu ile sınıfa tekrar verebilirsiniz.
5353

54-
Örnek: json_encode/json_decode ile önbelleğin bir dosyada tutulması
54+
Örnek: `json_encode`/`json_decode` ile önbelleğin bir dosyada tutulması
5555
```php
5656
$doviz = new \Teknomavi\Tcmb\Doviz();
5757
// Cache Kodları Başlangıç

src/Doviz.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?php
2+
23
namespace Teknomavi\Tcmb;
34

45
use Teknomavi\Common\Wrapper\Curl;
@@ -83,7 +84,7 @@ private function getTcmbData(Curl $curl = null)
8384
if (is_null($curl)) {
8485
$curl = new Curl();
8586
}
86-
$curl->setOption(CURLOPT_URL, 'http://www.tcmb.gov.tr/kurlar/today.xml');
87+
$curl->setOption(CURLOPT_URL, 'https://www.tcmb.gov.tr/kurlar/today.xml');
8788
$curl->setOption(CURLOPT_HEADER, 0);
8889
$curl->setOption(CURLOPT_RETURNTRANSFER, 1);
8990
$curl->setOption(CURLOPT_FOLLOWLOCATION, 1);
@@ -92,7 +93,7 @@ private function getTcmbData(Curl $curl = null)
9293
throw new Exception\ConnectionFailed('Sunucu Bağlantısı Kurulamadı: ' . $curl->error());
9394
}
9495
$curl->close();
95-
$this->data = $this->formatTcmbData((array) simplexml_load_string($response));
96+
$this->data = $this->formatTcmbData((array)simplexml_load_string($response));
9697
$timezone = new \DateTimeZone('Europe/Istanbul');
9798
$now = new \DateTime('now', $timezone);
9899
$expire = $this->data['today'] == $now->format('d.m.Y') ? 'Tomorrow 15:30' : 'Today 15:30';
@@ -117,22 +118,21 @@ private function formatTcmbData($data)
117118
$currencies = [];
118119
if (isset($data['Currency']) && count($data['Currency'])) {
119120
foreach ($data['Currency'] as $currency) {
120-
$currency = (array) $currency;
121+
$currency = (array)$currency;
121122
$currencyCode = $currency['@attributes']['CurrencyCode'];
122-
if (in_array($currencyCode, $this->ignoredCurrencies)) {
123-
continue;
123+
if (!in_array($currencyCode, $this->ignoredCurrencies)) {
124+
$currencies[$currencyCode] = [
125+
self::TYPE_ALIS => $currency[self::TYPE_ALIS] / $currency['Unit'],
126+
self::TYPE_EFEKTIFALIS => $currency[self::TYPE_EFEKTIFALIS] / $currency['Unit'],
127+
self::TYPE_SATIS => $currency[self::TYPE_SATIS] / $currency['Unit'],
128+
self::TYPE_EFEKTIFSATIS => $currency[self::TYPE_EFEKTIFSATIS] / $currency['Unit'],
129+
];
124130
}
125-
$currencies[$currencyCode] = [
126-
self::TYPE_ALIS => $currency[self::TYPE_ALIS] / $currency['Unit'],
127-
self::TYPE_EFEKTIFALIS => $currency[self::TYPE_EFEKTIFALIS] / $currency['Unit'],
128-
self::TYPE_SATIS => $currency[self::TYPE_SATIS] / $currency['Unit'],
129-
self::TYPE_EFEKTIFSATIS => $currency[self::TYPE_EFEKTIFSATIS] / $currency['Unit'],
130-
];
131131
}
132132
}
133133

134134
return [
135-
'today' => $data['@attributes']['Tarih'],
135+
'today' => $data['@attributes']['Tarih'],
136136
'currencies' => $currencies,
137137
];
138138
}
@@ -193,7 +193,7 @@ public function getCurrencyExchangeRate($currency, $type = self::TYPE_ALIS)
193193
case self::TYPE_SATIS:
194194
case self::TYPE_EFEKTIFALIS:
195195
case self::TYPE_EFEKTIFSATIS:
196-
return (float) $this->data['currencies'][$currency][$type];
196+
return (float)$this->data['currencies'][$currency][$type];
197197
default:
198198
throw new Exception\UnknownPriceType('Tanımlanamayan Kur Tipi: ' . $type);
199199
}

0 commit comments

Comments
 (0)