, (*1)
MoneyPHP Wrapper
This is a wrapper for Money., (*2)
This wrapper:, (*3)
- Provide a Money helper -
money()
- Intended for Laravel Framework, but can be use outside from Laravel Framework as well.
- Provide common usage such as:
- [x] For Human Readability - RM 1.00, RM 345.00
- [x] For Common Display - 1.00, 345.00
- [x] For Machine (intended format to store in Database - integer) - 100, 34500
- [x] Fixed Exchange Rate Conversion - $ 1 > RM 3.87
Installation
- In order to install
wujunze/money-wrapper
in your Laravel project, just run the composer require command from your terminal:
$ composer require wujunze/money-wrapper
- Then in your
config/app.php
add the following to the providers array:
wujunze\MoneyWrapper\MoneyWrapperServiceProvider::class,
- In the same
config/app.php
add the following to the aliases array:
'MoneyWrapper' => wujunze\MoneyWrapper\MoneyWrapperFacade::class,
- Publish Money Wrapper Config:
$ php artisan vendor:publish --tag=money-wrapper-config
You may want to add more currency details based on country. See contributions section below for the details., (*4)
Usage
Get Money Wrapper Instance, (*5)
By default, MYR, Malaysia Ringgit currency will be use., (*6)
You may override either by .env
file or pass the country Alpha 2 code when calling money()
helper., (*7)
$money = money(); // by default it will use MY
$moneyUsd = money('US'); // pass the country code - ISO Alpha 2
You can add more currencies after publishing the Money Wrapper configuration file and added more supported currencies., (*8)
Please refer to Country Code and it's currency swift code and symbol in Currency List., (*9)
Get Money Format, (*10)
echo money()->toHuman(100); // RM 1.00, useful for human readability
echo money()->toCommon(100); // 1.00
echo money()->toMachine('1.00'); // 100, always store in database as integer.
Convert Fixed Rate, (*11)
$fixedExchange = [
'MYR' => [
'USD' => 3.87,
],
];
echo money()->convertFixedRate($fixedExchange, 100, 'USD')->getAmount(); // 387
Recommended data type used in database is big integer, (*12)
Contributions
Updating currency list (config/currency.php
) available based on following resources:, (*13)
- Use Country ISO Alpha 2 Code for the Key as defined in Country List.
- Refer currency list for the available currency.
- Use symbol as per stated in www.xe.com.
The structure will be as following:, (*14)
[
'MYR' => [
'swift_code' => 'MYR',
'symbol' => 'RM'
]
]
License
This package is open-sourced software licensed under the MIT license., (*15)