Skip to content

racinmat/money

 
 

Repository files navigation

Money

Build Status

PHP 5.3+ library to make working with money safer, easier, and fun!

"If I had a dime for every time I've seen someone use FLOAT to store currency, I'd have $999.997634" -- Bill Karwin

In short: You shouldn't represent monetary values by a float. Wherever you need to represent money, use this Money value object.

<?php

use Money\Money;

$fiveEur = Money::EUR(500);
$tenEur = $fiveEur->add($fiveEur);

list($part1, $part2, $part3) = $tenEur->allocate(array(1, 1, 1));
assert($part1->equals(Money::EUR(334)));
assert($part2->equals(Money::EUR(333)));
assert($part3->equals(Money::EUR(333)));

The documentation is available at http://money.readthedocs.org

Installation

Install the library using composer. Add the following to your composer.json:

{
    "require": {
        "mathiasverraes/money": "dev-master"
    },
    "minimum-stability": "dev"    
}

Now run the install command.

$ composer.phar install

Integration

See MoneyBundle or TbbcMoneyBundle for Symfony integration.

About

PHP implementation of Fowler's Money pattern. NOTE: all work is happening in the "nextrelease" branch, which will break BC.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 80.2%
  • Python 12.6%
  • Shell 7.2%