Skip to content

tomhooijenga/units

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Units in php

to do:

  • Add more units
  • Add conversion ratios
<?php

use Conversion\Converter;
use Conversion\Dimension;
use Conversion\Parser;
use Conversion\Registry;
use Conversion\RegistryBuilder;

$registry = new Registry();

// Setup basic units
RegistryBuilder::build($registry);

// Register a si unit including all the si prefixes.
// When specifying symbols, it will also add prefixed symbols.
RegistryBuilder::registerSiUnit(
    $registry,
    'meter^2', // Full name of the unit
    symbols: ['m^2'], // Symbols for the unit
    ratio: 1 // The relation to the base unit
    dimension: Dimension::LENGTH
    power: 2
);

$parser = new Parser($registry);
$converter = new Converter();

// Simple units
$cm = $parser->parse('cm');
$m = $parser->parse('m');

$converter->convert($cm, $m, 100);

// Compound units
$ms = $parser->parse('m/s');
$kmh = $parser->parse('km/h'),

$converter->convert($ms, $kmh);

// Convert density
$kg = $parser->parse('kg');
$m3 = $parser->parse('m^3');
$kgm3 = $parser->parse('kg/m^3');

[$amount, $volumeUnit] = $converter->multiply(1, $m3, 19320, $kgm3)

$converter->convert(
    $amount,
    $volumeUnit,
    $parser->parse('cm^3'),
)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages