PHP Library for getting data from National Bank of Georgia (NBG)'s API.
See documentation generated by phpDocumentor in docs/ folder.
You can install this library with Composer:
composer require abgeo/nbg-currency
Include composer autoloader in your main file (Ex.: index.php)
require_once __DIR__.'/../vendor/autoload.php';
Import Classes:
use ABGEO\NBG\Currency;
use ABGEO\NBG\Helper\CurrencyCodes;
Now you can create new Currency
Class object ex. for USD
currency:
$USD = new Currency(CurrencyCodes::USD);
The Currency
class constructor takes a single argument - the Currency Code.
You can pass it manually (ISO 4217) or using ABGEO\NBG\Helper\CurrencyCodes
class constants:
AED, AMD, AUD, AZN, BGN, BYR, CAD, CHF, CNY, CZK, DKK, EEK, EGP, EUR,
GBP, HKD, HUF, ILS, INR, IRR, ISK, JPY, KGS, KWD, KZT, LTL, LVL, MDL,
NOK, NZD, PLN, RON, RSD, RUB, SEK, SGD, TJS, TMT, TRY, UAH, USD, UZS.
After creating a class object, we can get currency data.
The API gives us:
- Currency Amount;
- Currency Description;
- Currency Change value;
- Currency Change rate (-1 - decreased; 0 - unchanged; 1 - increased);
- Currency Date;
getCurrency()
- Get Currency Amount;getDescription()
- Get Currency Description;getChange()
- Currency Change value;getRate()
- Get Currency Change rate;getDate()
- Get Currency Date;
...
echo "Currency: \t{$USD->getCurrency()}\n";
echo "Description: \t{$USD->getDescription()}\n";
echo "Change: \t{$USD->getChange()}\n";
echo "Change Rate: \t{$USD->getRate()}\n";
echo "Date: \t\t{$USD->getDate()->format('m/d/Y')}\n";
...
<?php
// Include Composer Autoloader.
require_once __DIR__.'/../vendor/autoload.php';
// Import namespace.
use ABGEO\NBG\Currency;
use ABGEO\NBG\Helper\CurrencyCodes;
// Create new Currency class object for USD and EUR Currencies.
$USD = new Currency(CurrencyCodes::USD);
$EUR = new Currency(CurrencyCodes::EUR);
// Print results.
echo "USD: \n\n";
echo "Currency: \t{$USD->getCurrency()}\n";
echo "Description: \t{$USD->getDescription()}\n";
echo "Change: \t{$USD->getChange()}\n";
echo "Change Rate: \t{$USD->getRate()}\n";
echo "Date: \t\t{$USD->getDate()->format('m/d/Y')}\n";
echo "\n------------------------------------------\n\n";
echo "EUR: \n\n";
echo "Currency: \t{$EUR->getCurrency()}\n";
echo "Description: \t{$EUR->getDescription()}\n";
echo "Change: \t{$EUR->getChange()}\n";
echo "Change Rate: \t{$EUR->getRate()}\n";
echo "Date: \t\t{$EUR->getDate()->format('m/d/Y')}\n";
You can use ABGEO\NBG\Exporter
Class for exporting currency data to CSV file or PHP Stream output.
ABGEO\NBG\Exporter
class has export()
method that takes 3 arguments:
- currencies - Single Currency Code or array;
- exportMode [Optional][Default: Exporter::EXPORT_2_FILE]
- Exporter::EXPORT_2_FILE(1) - To file;
- Exporter::Exporter::EXPORT_2_FILE(2) - To stream;
- file [Optional][Default: currency-{current-date}.csv] - Filename to export.
...
Exporter::export(CurrencyCodes::USD, Exporter::EXPORT_2_FILE, 'single.csv');
...
...
Exporter::export(
[
CurrencyCodes::USD,
CurrencyCodes::EUR,
CurrencyCodes::BGN,
CurrencyCodes::AMD,
],
Exporter::EXPORT_2_STREAM
);
...
NOTE: Don't print anything before exporting to stream coz we use header()
function.
- Temuri Takalandze - Initial work - ABGEO
This project is licensed under the MIT License - see the LICENSE file for details