faridbabayev / cbar-currency
PHP library to work with cbar.az currency rates
Requires
- php: ^7.4|^8.0
- ext-bcmath: *
- ext-simplexml: *
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.0|^9.0
This package is auto-updated.
Last update: 2025-04-08 18:20:15 UTC
README
Requirements
PHP 7.4 or higher, simplexml
and bcmath
extensions.
Installation
Require this package with composer.
composer require faridbabayev/cbar-currency
Copy the package config to your local config with the publish command:
php artisan vendor:publish --provider="FaridBabayev\CBARCurrency\CBARCurrencyServiceProvider"
Laravel without auto-discovery:
If you don't use auto-discovery, add the ServiceProvider to the providers array in config/app.php
FaridBabayev\CBARCurrency\CBARCurrencyServiceProvider::class
If you want to use the facade to log messages, add this to your facades in app.php:
'CBAR' => \FaridBabayev\CBARCurrency\Facades\CBAR::class
Usage
Fetching currencies from CBAR
Instantiate FaridBabayev\CBARCurrency\Facades\CBAR
with date you want to fetch currencies for. If you don't pass a date, current date will be used:
use FaridBabayev\CBARCurrency\Facades\CBAR; $currencies = CBAR::currencies(); // this will fetch currencies for current date $currencies = CBAR::from("18.02.2022")->currencies(); // this will fetch currencies for 18.02.2022
You can pass dates in any format that acceptable by PHP's strtotime()
function.
For example, 20.10.2022
, 10/20/2022
, 2022-10-20
, today
, yesterday
, -1 week
, -1 year
, 15 December 2020
, last Friday
.
Use available drivers
You can change default driver from env file.
CBAR_CONNECTION=database
- Default driver is
sync
:
use FaridBabayev\CBARCurrency\Facades\CBAR; $currencies = CBAR::currencies(); // this will fetch currencies for current date $currencies = CBAR::from("18.02.2022")->currencies(); // this will fetch currencies for 18.02.2022
- You can use
database
driver. Before usedatabase
driver first runphp artisan migrate
forcurrencies
table:
use FaridBabayev\CBARCurrency\Facades\CBAR; $currencies = CBAR::driver('database')->currencies(); // this will fetch currencies for current date $currencies = CBAR::driver('database')->from("18.02.2022")->currencies(); // this will fetch currencies for 18.02.2022
- You can use
file
driver:
use FaridBabayev\CBARCurrency\Facades\CBAR; $currencies = CBAR::driver('file')->currencies(); // this will fetch currencies for current date $currencies = CBAR::driver('file')->from("18.02.2022")->currencies(); // this will fetch currencies for 18.02.2022
Converting currency
All available currencies and currency codes can be found in CBAR website
Converting amount to and from AZN
Library supports converting given amount in foreign currency to AZN with given date's rates:
$currencies = CBAR::currencies(); $currencies->toAZN('USD')->convert(); // returns AZN equivalent of 1.00 USD with today's currencies $currencies->toAZN('USD')->convert(25.53); // returns AZN equivalent of 25.53 USD with today's currencies
You can also convert given amount in AZN to any available foreign currency:
$currencies = CBAR::currencies(); $currencies->fromAZN('USD')->convert(); // returns USD equivalent of 1.00 AZN with today's currencies $currencies->fromAZN('USD')->convert(25.53); // returns USD equivalent of 25.53 AZN with today's currencies
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email faridbabayev98@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.