This repository provides Temperature ValueObject implementation for PHP that is easy to use and easily allow your classes to
depend on Temperature
object instead of just float or string.
You can install this package via composer
composer require php-value-object/temperature
function isItWarm(Temperature $temperature) : bool
{
$hot = new Celsius(23);
if($temperature->gte($hot)) {
return true; // t-shirt time
}
return false; // jacket time
}
$temperature = new Kelvin(0);
isItWarm($temperature); // false
The temperature classes are supported: Celsius
, Fahrenheit
and Kelvin
.
It is possible to compare them via helper methods:
eq
- equalsgt
- greater thangte
- greater than or equalslt
- less thanlte
- less than or equalscompareTo
- returns -1, 0, 1 if less than, equal or greater than
To introduce new temperature class simply extend Temperature.
MIT
Any contributions are welcome
The easiest way how to develop is to git clone
and run make
git clone git@github.com:PHPValueObject/Temperature.git temperature
cd temperature
make