soandso/units
Composer 安装命令:
composer require soandso/units
包简介
Meteorological unit converter
README 文档
README
PHP library for meteorological unit conversion.
Features
- Temperature conversion
- Wind speed conversion
- Atmospheric pressure conversion
- Precipitation conversion
- Distance conversion
- Support for strongly typed enums
- Fluent API
- Unit metadata registry
- Framework independent
- PHP 8.4+
Installation
Install via Composer:
composer require soandso/units
Quick Start
require __DIR__ . '/vendor/autoload.php'; use Soandso\Units\Bootstrap; Bootstrap::init();
Supported Quantities
Retrieve metadata for a quantity:
use Soandso\Units\Registry\Quantity; use Soandso\Units\Unit; $temperature = Quantity::get(Unit::TEMPERATURE); $temperature->name; $temperature->description; $temperature->class; $temperature->units;
Example output:
Temperature
Air temperature units
Soandso\Units\Value\Temperature
[
"C",
"F",
"K"
]
Temperature Conversion
Fluent API
use Soandso\Units\Value\Temperature; Temperature::c(20) ->toF() ->value(); //68
Generic Conversion
use Soandso\Units\Value\Temperature; use Soandso\Units\Enum\Temperature as TemperatureUnit; Temperature::c(20) ->convertTo(TemperatureUnit::F) ->value(); //68
Creating Values
Values can be created using named constructors:
Temperature::c(20); Temperature::f(68); Temperature::k(293.15);
Working with Value Objects
$temperature = Temperature::c(20); $temperature->value(); $temperature->unit()->value;
Available Quantities
Depending on installed version, the library may support:
- Temperature
- Pressure
- Wind Speed
- Precipitation
- Distance
- Visibility
- Humidity
- Cloud Base Height
Example:
use Soandso\Units\Enum\Unit; use Soandso\Units\Registry\Quantity; $quantity = Quantity::get(Unit::PRESSURE);
Registry
The registry provides metadata about all supported quantities.
use Soandso\Units\Registry\Quantity; $all = Quantity::all();
Example
use Soandso\Units\Value\Temperature; $celsius = Temperature::c(20); $celsius->toF()->value(); //68 $celsius->toK()->value(); //293.15
Requirements
- PHP 8.4+
- Composer
License
Grouping is licensed under the GPLv2 License (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2026-06-22