Skip to content
/ Euro Public

💶 PHP value object for representing a positive amount of Euro

License

Notifications You must be signed in to change notification settings

wmde/Euro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.1 (dev)

  • Large numbers now cause an InvalidArgumentException rather than a TypeError

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

About

💶 PHP value object for representing a positive amount of Euro

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages