/laravel-money

Laravel Money.

Primary LanguagePHPMIT LicenseMIT

Laravel Money

Latest Stable Version Total Downloads License

StyleCI Build Status Build status Coverage Status

Code Climate Test Coverage Issue Count

Average time to resolve an issue Percentage of issues still open Gitter

SensioLabsInsight

Note: This project abstracts MoneyPHP

Installation

Run the following command from you terminal:

composer require cknow/laravel-money

or add this to require section in your composer.json file:

"cknow/laravel-money": "~3.1"

then run composer update

Usage

use Cknow\Money\Money;

echo Money::BRL(500); // R$5,00

Advanced Usage

See MoneyPHP for more information

use Cknow\Money\Money;

Money::BRL(500)->add(Money::BRL(500)); // 10,00
Money::BRL(500)->subtract(Money::BRL(400)); // 1,00
Money::BRL(500)->isZero(); // false
Money::BRL(500)->isPositive(); // true
Money::BRL(500)->isNegative(); // false
Money::BRL(500)->format(); // R$5,00
Money::BRL(199)->format(null, null, \NumberFormatter::DECIMAL); // 1,99
Money::BRL(500)->formatByDecimal(); // 5.00
Money::BRL(830)->mod(Money::BRL(300)); // R$2,30 -> Money::BRL(230)
Money::BRL(30)->ratioOf(Money::BRL(2)); // 15
Money::parse('R$1,00'); // R$1,00 -> Money::BRL(100)
Money::parseByDecimal('1.00', 'BRL'); // R$1,00 -> Money::BRL(100)

Create your formatter

class MyFormatter implements \Money\MoneyFormatter
{
    public function format(\Money\Money $money)
    {
        return 'My Formatter';
    }
}

Money::BRL(500)->formatByFormatter(new MyFormatter());

Helpers

currency('BRL')
money(500, 'BRL')
money_parse('R$5,00')
money_parse_by_decimal('1.00', 'BRL')

Blade Extensions

@currency('BRL')
@money(500, 'BRL')
@money_parse('R$5,00')
@money_parse_by_decimal('1.00', 'BRL')