assimtech / money
This package is abandoned and no longer maintained.
The author suggests using the assimtech/fiat package instead.
Money, Currency and Accounting
1.1.3
2016-10-19 09:45 UTC
Requires
- php: >=5.5.9
- symfony/intl: ^3.0
- twig/twig: ^1.0
Requires (Dev)
- henrikbjorn/phpspec-code-coverage: ^1.0
- phpmd/phpmd: ^2.2
- phpspec/phpspec: ^2.2
- sebastian/phpcpd: ^2.0
- squizlabs/php_codesniffer: ^2.3
README
Provides models for representing Money and an Accountant performing arithmetic on Money without causing rounding errors
THIS REPOSITORY HAS BEEN MOVED TO Assimtech\Fiat
The last version of Assimtech\Money
is 1.1.3
, Assimtech\Fiat
follows on from 2.0.0
. The move is due to the naming of Assimtech\Money\Money
.
The Models
Currency
$usd = new Assimtech\Money\Currency('USD'); echo (string)$usd; // Outputs USD echo $usd->getFractionDigits(); // Outputs 2 $jpy = new Assimtech\Money\Currency('JPY'); echo $jpy->getFractionDigits(); // Outputs 0 $iqd = new Assimtech\Money\Currency('IQD'); echo $iqd->getFractionDigits(); // Outputs 3
Money
// assuming Locale is en-US $money = new Money(pi(), $usd); echo (string)$money; // Outputs 3.14 USD echo $money->getFormattedAmount(); // Outputs 3.14 echo $money->getFormattedAmount('de-DE'); // Outputs 3,14
The Accountant
$accountant = new Assimtech\Money\Accountant(); $threeUSD = $accountant->add($oneUSD, $twoUSD); $sixUSD = $accountant->subtract($tenUSD, $fourUSD); $eightUSD = $accountant->multiply($fourUSD, 2); $threeUSD = $accountant->divide($nineUSD, 3); $sixUSD = $accountant->sum(array( $oneUSD, $twoUSD, $threeUSD, ));
Twig extension
The accountant is also exposed as a Twig extension
{{ add_money(money1, money2) }} {{ subtract_money(money1, money2) }} {{ multiply_money(money, fraction) }} {{ divide_money(money, fraction) }} {{ sum_money([ money1, money2, money3 ]) }}
Frameworks
Please see MoneyBundle for integration with Symfony 2