Downloadnbg-currency
PHP Library for getting data from National Bank of Georgia (NBG)'s API.
See documentation generated by phpDocumentor in docs/ folder.
Installation
You can install this library with Composer:
-
`composer require abgeo/nbg-currency`
Usage
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;
Public methods
-
`getCurrency()` - Get Currency Amount;
-
`getDescription()` - Get Currency Description;
-
`getChange()` - Currency Change value;
-
`getRate()` - Get Currency Change rate;
-
`getDate()` - Get Currency Date;
Examples
Example for USD
...
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";
...
Full example with USD and EUR
<?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";
Export
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.
Export examples
Export single currency
...
Exporter::export(CurrencyCodes::USD, Exporter::EXPORT_2_FILE, 'single.csv');
...
Export many currencies
...
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.
Authors
-
Temuri Takalandze - Initial work - ABGEO
License
This project is licensed under the MIT License - see the LICENSE file for details |