binsoul/common-measurement

Measurements and their corresponding units and dimensions

Maintainers

πŸ‘ binsoul

Package info

github.com/binsoul/common-measurement

pkg:composer/binsoul/common-measurement

Statistics

Installs: 18

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master / 1.0.x-dev 2016-04-28 17:33 UTC

Requires

  • php: >=5.6.0

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 7ec06eec1ce231b3cbde11f39135bcaacdaa4d76

commonmeasurement

This package is auto-updated.

Last update: 2026-06-15 02:01:03 UTC


README

πŸ‘ Latest Version on Packagist
πŸ‘ Software License
πŸ‘ Total Downloads

This package provides classes for modeling and working with measurements and their corresponding units and dimensions.

Install

Via composer:

$ composer require binsoul/common-measurement

Usage

Output a length in metres.

<?php

use BinSoul\Common\Measurement\Measure;
use BinSoul\Common\Measurement\Measure\LengthMeasure;
use BinSoul\Common\Measurement\SystemOfUnits\StandardUnits;
use BinSoul\Common\Measurement\SystemOfUnits\USCustomaryUnits;

include 'vendor/autoload.php';

function output(LengthMeasure $length)
{
 $standardUnits = new StandardUnits();
 $converted = $length->to($standardUnits->METRE);

 echo sprintf(
 "%s %s = %s %s\n",
 $length->getValue(),
 $length->getUnit()->getSymbol(),
 $converted->getValue(),
 $converted->getUnit()->getSymbol()
 );
}

$standardUnits = new StandardUnits();
$usUnits = new USCustomaryUnits($standardUnits);

output(Measure::valueOf(1, $standardUnits->CENTIMETRE)); // 1 cm = 0.01 m
output(Measure::valueOf(1, $standardUnits->KILOMETRE)); // 1 km = 1000 m
output(Measure::valueOf(1, $usUnits->INCH)); // 1 in = 0.0254 m
output(Measure::valueOf(1, $usUnits->MILE)); // 1 mi = 1609.344 m

Testing

$ composer test

License

The MIT License (MIT). Please see License File for more information.