lusitanian / phpmoney
PHP Money 模式实现
dev-master
2013-01-27 08:45 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-14 13:26:20 UTC
README
PHPMoney 是一个单元测试的 Money 模式实现(不包括货币,该功能已在 TODO 列表中),适用于 PHP 5.3+
安装(composer)
将以下项目添加到您的 composer.json
的 require 部分:"lusitanian/phpmoney": "dev-master"
使用方法
类以 PSR-0 兼容的方式设置,如果不使用 composer 安装包(它会自动生成自动加载器),则可以与任何 PSR-0 自动加载器一起使用。该库包括一个 MoneyFactory
,它将使用在您的 PHP 安装上可用的最佳 MathProvider
为您创建 Money
实例。
示例用法
<?php
$factory = new PHPMoney\MoneyFactory();
$twoDollars = $factory->createMoney(200);
$threeDollars = $factory->createMoney(300);
$fiveDollars = $twoDollars->add($threeDollars);
echo $fiveDollars->format();
当然,您也可以不使用工厂创建 Money
实例。您需要为每个 Money
实例传递一个 MathProvider
实例(您可以使用并应该为多个 Money
对象使用相同的 MathProvider
实例)。
<?php
$bcMathProvider = new PHPMoney\MathProvider\BCMathProvider();
$oneDollar = new PHPMoney\Money(100, $bcMathProvider);
$twoDollars = new PHPMoney\Money(200, $bcMathProvider);
测试
测试在 tests
文件夹中,代码覆盖率达到了 100%。您需要 phpunit 来运行它们。包含了一个 phpunit.xml
文件。