从土耳其共和国中央银行获取最新的货币汇率

v1.0.4 2020-07-02 20:21 UTC

This package is auto-updated.

Last update: 2024-09-11 21:56:58 UTC


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);