Skip to content

PHPValueObject/Temperature

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Temperature Value Objects

Build Status Latest Stable Version License PHPStan

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.

Install

You can install this package via composer

composer require php-value-object/temperature

Example

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

Usage

The temperature classes are supported: Celsius, Fahrenheit and Kelvin.

It is possible to compare them via helper methods:

  • eq - equals
  • gt - greater than
  • gte - greater than or equals
  • lt - less than
  • lte - less than or equals
  • compareTo - returns -1, 0, 1 if less than, equal or greater than

To introduce new temperature class simply extend Temperature.

Licence

MIT

Contributing

Any contributions are welcome

Building & Development

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

About

PHP ValueObjects for handling temperature

Resources

License

Stars

Watchers

Forks

Packages

No packages published