Simple API
Use direct methods like convertLength(), convertMass() and convertTemperature().
UnitConverter is a small PHP library for converting length, mass, volume, temperature and area units with a clean and easy-to-use API.
use UnitConverter\UnitConverter;
$converter = new UnitConverter();
$result = $converter->convertLength(
value: 1,
from: 'km',
to: 'm'
);
// 1000.00
Use direct methods like convertLength(), convertMass() and convertTemperature().
The package targets modern PHP versions and can be installed using Composer.
Includes PHPUnit tests and a GitHub Actions workflow for automated checks.
Install the package using Composer:
composer require xxzeroxx/unit-converter<?php
require 'vendor/autoload.php';
use UnitConverter\UnitConverter;
$converter = new UnitConverter();
echo $converter->convertLength(100, 'cm', 'm'); // 1.00
echo $converter->convertMass(1000, 'g', 'kg'); // 1.00
echo $converter->convertVolume(1, 'm³', 'l'); // 1000.00
echo $converter->convertTemperature(0, 'C', 'F'); // 32.00
echo $converter->convertArea(1, 'm2', 'cm2'); // 10000.00convertLength()public function convertLength(float $value, string $from, string $to, int $decimalPlaces = 2): float
Converts values between length units.
convertMass()public function convertMass(float $value, string $from, string $to, int $decimalPlaces = 2): float
Converts values between mass units.
convertVolume()public function convertVolume(float $value, string $from, string $to, int $decimalPlaces = 2): float
Converts values between volume units.
convertTemperature()public function convertTemperature(float $value, string $from, string $to, int $decimalPlaces = 2): float
Converts values between Celsius, Fahrenheit, Kelvin and Réaumur.
convertArea()public function convertArea(float $value, string $from, string $to, int $decimalPlaces = 2): float
Converts values between area units.
| Category | Units | Example |
|---|---|---|
| Length | m, km, cm, mm, µm, nm, mi, yd, ft, in |
convertLength(5, 'km', 'm') |
| Mass | kg, g, mg, t, lb, oz |
convertMass(2, 'kg', 'lb') |
| Volume | l, ml, gal, cup, oz, m³ |
convertVolume(1, 'm³', 'l') |
| Temperature | C, F, K, R |
convertTemperature(0, 'C', 'F') |
| Area | m2, cm2, km2, ha, ac, ft2 |
convertArea(1, 'm2', 'ft2') |
When a source or destination unit is not supported, the library throws an InvalidArgumentException.
try {
$converter->convertLength(10, 'invalid', 'm');
} catch (InvalidArgumentException $exception) {
echo $exception->getMessage();
}Run the test suite with Composer:
composer test