💶 PHP value object for representing a positive amount of Euro
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.scrutinizer.yml
.travis.yml
COPYING.txt
README.md
composer.json
phpcs.xml
phpunit.xml.dist

README.md

Euro

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Download count

Value Object that represents a positive amount of Euro.

Installation

To add this package as a local, per-project dependency to your project, simply add a dependency on wmde/euro to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a dependency on Euro 1.x:

{
    "require": {
        "wmde/euro": "^1.0.1"
    }
}

Usage

Construction

Constructing from Euro cents (int):

$productPrice = Euro::newFromCents(4200);

Constructing from a Euro amount (float):

$productPrice = Euro::newFromFloat(42.00);

Constructing from a Euro amount (string):

$productPrice = Euro::newFromString('42.00');

Constructing from a Euro amount (int):

$productPrice = Euro::newFromInt(42);

Access

echo $productPrice->getEuroCents();
// 4200 (int) for all above examples
echo $productPrice->getEuroFloat();
// 42.0 (float) for all above examples
echo $productPrice->getEuroString();
// "42.00" (string) for all above examples

Comparison

Euro::newFromCents(4200)->equals(Euro::newFromInt(42));
// true
Euro::newFromCents(4201)->equals(Euro::newFromInt(42));
// false

Running the tests

For tests only

composer test

For style checks only

composer cs

For a full CI run

composer ci

Release notes

1.1.0 (2018-03-21)

  • Bumped minimum PHP version from 7.0 to 7.1

1.0.2 (2018-03-20)

  • Internal changes to avoid dealing with floats when constructing an Euro object from string

1.0.1 (2018-03-17)

  • Fixed rounding issue occurring on some platforms

1.0.0 (2016-07-31)

  • Initial release