teknomavi / tcmb
从土耳其共和国中央银行获取最新的货币汇率
v1.0.4
2020-07-02 20:21 UTC
Requires
- php: > 5.4
- teknomavi/common: ~2.0
Requires (Dev)
- doctrine/cache: 1.5.x-dev
- phpunit/phpunit: ~4.8|~5.0
- squizlabs/php_codesniffer: ~2.0
Suggests
- doctrine/cache: Kütüphanenin cache mekanizmasını kullanmasını sağlayarak performansını arttırır.
README
什么是 Teknomavi\Tcmb?
这是一个开源 PHP 库,用于读取土耳其共和国中央银行在https://www.tcmb.gov.tr/kurlar/today.xml 地址上发布的最新货币汇率。
可以做什么?
使用此库可以自动获取每日汇率。您可以访问土耳其共和国中央银行网站上发布的所有“买入”、“卖出”、“实际买入”和“实际卖出”汇率。
如何使用?
可以使用 Composer 安装 Teknomavi\Tcmb。在项目的 composer.json
文件中,将 "teknomavi/tcmb": "dev-master"
添加到 require
部分,并运行 composer update
命令。
您还可以运行以下命令。
composer require teknomavi/tcmb
如果您需要有关 Composer 安装/使用的更多信息,请参阅此文档。
示例代码
库的最基本用法如下;
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);
常见问题解答
如何阻止库每次从土耳其共和国中央银行获取数据?
从土耳其共和国中央银行获取的数据可以在创建类时提供的 Doctrine\Common\Cache\CacheProvider
上保存。这样,每次就不会从土耳其共和国中央银行获取数据,从而提高性能。有关 Doctrine Cache 的详细信息,请参阅此处。
示例:使用 Doctrine Memcache CacheProvider
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("USD"); echo " EURO Efektif Alış:" . $doviz->kurAlis("EUR", Doviz::TYPE_EFEKTIFALIS); echo " EURO Efektif Satış:" . $doviz->kurSatis("EUR", Doviz::TYPE_EFEKTIFSATIS);
我正在使用外部缓存结构作为 Doctrine\Common\Cache\CacheProvider
。我能做什么?
您可以使用 getData()
函数自行保存类创建的数据,并在需要时使用 setData($data)
函数将数据再次提供给类。
示例:使用 json_encode
/json_decode
在文件中存储缓存
$doviz = new \Teknomavi\Tcmb\Doviz(); // Cache Kodları Başlangıç $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ı Bitiş 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);
示例:使用 Laravel 通过 json_encode
/json_decode
在文件中存储缓存
use Storage; $doviz = new Doviz(); // Cache Kodları Başlangıç $path = 'doviz-cache/doviz.json'; if (Storage::exists($path)) { $data = json_decode(Storage::get($path), true); $cache_valid = $doviz->setData($data); } else { $cache_valid = false; } if (!$cache_valid) { Storage::put($path, json_encode($doviz->getData())); } // Cache Kodları Bitiş 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);