Unit conversion services for Laravel Enso
laravel-enso/unit-conversion is a Laravel package for unit conversion services for laravel enso.
It currently has 0 GitHub stars and 4.619 downloads on Packagist (latest version 2.0.5).
Install it with composer require laravel-enso/unit-conversion.
Discover more Laravel packages by laravel-enso
or browse all Laravel packages to compare alternatives.
Last updated
Unit Conversion provides small, focused services for converting values between related measurement units.
The package organizes conversions by measurement family and supports both object-based and expression-based inputs. It is designed for deterministic numeric conversions such as length, mass, energy, and electrical power.
Internally, each unit declares a label, a symbol, and a conversion factor, while the conversion services discover compatible units automatically from the package structure.
Install the package:
composer require laravel-enso/unit-conversion
No publishing or runtime configuration is required.
2 m or 15 kg.Convert through a converter service:
use LaravelEnso\UnitConversion\Length\Length;
use LaravelEnso\UnitConversion\Length\Units\Meter;
use LaravelEnso\UnitConversion\Length\Units\Millimeter;
$result = Length::from(new Meter(2))->to(Millimeter::class);
Convert from a string expression:
$result = Length::from('2 m')->to(Millimeter::class);
Convert directly to a unit class:
use LaravelEnso\UnitConversion\Mass\Units\Gram;
use LaravelEnso\UnitConversion\Mass\Units\Kilogram;
$result = Gram::from(new Kilogram(3));
You can also convert directly from an expression:
$result = Gram::from('3 kg');
::: warning Note
Expression-based conversions must follow the <value> <symbol> format, for example 2 m, 3 kg, or 1.5 kcal.
If the expression is malformed, the symbol is unknown, or the source and destination units belong to different families, the package throws a dedicated exception. :::
Available families:
LaravelEnso\UnitConversion\Length\LengthLaravelEnso\UnitConversion\Mass\MassLaravelEnso\UnitConversion\Energy\EnergyLaravelEnso\UnitConversion\Electricity\PowerCommon entry points:
from(Unit|string $from): staticto(string $class): stringEvery unit class implements:
label(): stringsymbol(): stringfactor(): floatvalue(): stringfrom(Unit|string $argument, ?int $precision = 2): stringBuilt-in units:
Millimeter, Centimeter, Meter, KilometerGram, KilogramCalorie, Kilocalorie, JouleWatt, KiloWattLaravelEnso\UnitConversion\Services\Expression
Expected format:
<value> <symbol>
Examples:
2 m100 kg1.5 kcalThe package exposes:
LaravelEnso\UnitConversion\Exceptions\UnitLaravelEnso\UnitConversion\Exceptions\ConversionLaravelEnso\UnitConversion\Exceptions\ExpressionThis package exposes its backend integration through the routes, controllers, services, jobs, and configuration points referenced in the usage examples above.
Consumers should rely on the published config keys, documented route groups, and explicit service classes shown in the examples. Internal helper classes, listeners, casts, and background jobs are implementation details unless the README calls them out as extension points.
Required Enso packages:
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!