Skip to content
PHP implementation of Fowler's Money pattern. http://blog.verraes.net/2011/04/fowler-money-pattern-in-php/
PHP
Find file
Latest commit c7d1e87 @sagikazarmark sagikazarmark Merge pull request #162 from frederikbosch/patch-2
Update Travis badge

README.md

Money

Build Status

PHP 5.4+ 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": "~3.0"
    },
}

Features

  • JSON Serialization
  • Big integer support utilizing different, transparent calculation logic upon availability (bcmath, gmp, plain php)
  • Money formatting (including intl formatter)
  • Currency repositories (ISO currencies included)
  • Money exchange (including Swap implementation)

Integration

See MoneyBundle or TbbcMoneyBundle for Symfony integration.

A description of how to use Doctrine with the library is available under the doc directory.

Something went wrong with that request. Please try again.