ghianco/kuantia 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ghianco/kuantia

最新稳定版本:1.0.0

Composer 安装命令:

composer require ghianco/kuantia

包简介

README 文档

README

# 📦 Kuantia — Conversor de Unidades Flexible para PHP

**Kuantia** es un micro-SDK PHP que permite la **conversión entre unidades físicas** (masa, volumen, longitud, área, conteo) e incluso **equivalencias personalizadas** como cajas, packs o formatos comerciales.

Ideal para soluciones de inventario, logística, e-commerce o sistemas con múltiples presentaciones de productos.

---

## 🧰 Instalación

```bash
composer install ghianco/kuantia
```

🚀 Uso Básico
use Kuantia\Kuantia;
use Kuantia\Magnitude\Mass;

echo Kuantia::convert(1000, Mass::G, Mass::KG); // 1

📗 Unidades Soportadas
🔹 Mass (masa)

t, kg, g, mg, lb, oz

🔹 Volume (volumen)

ml, cl, dl, l, hl, oz, gal

🔹 Length (longitud)

mm, cm, dm, m, km, in, ft, yd, mi

🔹 Area (área)

mm2, cm2, m2, km2, in2, ft2, yd2

🔹 Count (conteo)

und, par, doc, cien

⚙️ Ejemplos de Uso
🎯 Conversión directa
use Kuantia\Magnitude\Volume;

Kuantia::convert(1000, Volume::ML, Volume::L); // 1
Kuantia::convert(1, Volume::L, Volume::ML); // 1000

🧠 Equivalencias personalizadas (con UnitReference)
use Kuantia\Magnitude\Count;
use Kuantia\Magnitude\Volume;
use Kuantia\UnitReference;

$r = Kuantia::convert(1, Count::UND, UnitReference::create(750, Volume::ML));
echo "$r ml"; // 750

📦 Equivalencia como array
use Kuantia\Magnitude\Count;
use Kuantia\Magnitude\Mass;

echo Kuantia::convert(1, Count::UND, [1000, Mass::G]); // 1000 g
echo Kuantia::convert(2, Count::UND, [850, Mass::KG]); // 1700 kg

🧪 Validaciones
✅ Correcto
UnitReference::create(750, 'ml');

❌ Valor negativo
UnitReference::create(-1, 'kg');
// Exception: Value must be positive

❌ Unidad inválida
UnitReference::create(1, 'banana');
// Exception: Unidad no reconocida: banana

🔄 Conversión en lote (batch)
use Kuantia\Kuantia;
use Kuantia\Magnitude\Mass;
use Kuantia\Magnitude\Volume;
use Kuantia\Magnitude\Count;

$cases = [
    [5, Mass::OZ, Mass::KG],
    [1000, Mass::G, Mass::KG],
    [2, Mass::KG, Mass::G],
    [1, Mass::KG, Mass::OZ],
    [2, Mass::G, Mass::LB],
    [1, Mass::LB, Mass::G],
    [1000, Volume::ML, Volume::L],
    [3, Volume::L, Volume::ML],
    [1, Count::UND, [850, Mass::KG]],
];

foreach ($cases as [$value, $from, $to]) {
    try {
        $result = Kuantia::convert($value, $from, $to);
        echo "$value $from → $result $to\n";
    } catch (\Exception $e) {
        echo "ERROR: {$e->getMessage()}\n";
    }
}

🧼 Diseño Limpio

✔️ Value Objects (UnitReference, UnitEquivalence)

✔️ Estrategia de conversión (UnitEquivalence, Direct, Graph)

✔️ Registry para manejar magnitudes registradas

✔️ Soporta extensibilidad futura

🏁 Conclusión

Kuantia es:

✅ Simple de usar

✅ Extensible

✅ Seguro

✅ Ideal para apps con necesidades de conversión física entre unidades y formatos comerciales

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2025-09-09