我为 Laravel 构建了一个流畅的 Numberable API(v1.0.0)
发布: (2026年2月24日 GMT+8 17:20)
2 分钟阅读
原文: Dev.to
Source: Dev.to
介绍
Laravel 为字符串操作提供了 Stringable 类,但应用中的数值逻辑往往仍然混乱。
laravel-numberable v1.0.0 是一个小型包,提供了流式的数值运算和格式化功能,适用于 Laravel。
安装
composer require tresor-kasenda/laravel-numberable
基本用法
$price = number(1999.99)
->withLocale('en_US')
->withCurrency('USD');
$price->asCurrency(); // "$1,999.99"
链式操作
$total = number(120)
->add(30)
->multiply(1.2)
->round(2);
辅助方法
| 示例 | 结果 |
|---|---|
number(15)->clamp(0, 10); | 10 |
number(10.0)->trim(); | 10 |
number(17)->isPrime(); | true |
number(12)->isEven(); | true |
number(10)->between(5, 15); | true |
number(0.157)->asPercentage(); | 15.7% |
number(1532000)->asAbbreviated(); | 1.3M |
number(1048576)->asFileSize(); | 1 MB |
number(21)->asOrdinal(); | 21st |
高级特性
- 本地化解析:
from('1 234,50', 'fr_FR') - 条件管道:
when()/unless() - 宏 & 自定义格式
兼容性
- Laravel 10 / 11 / 12
- PHP 8.3 / 8.4
发布
版本: v1.0.0
仓库
github.com/Tresor-Kasenda/laravel-numberable
反馈
欢迎提供反馈,特别是关于 API 命名和缺失的数值辅助方法。
标签
- laravel
- php
- opensource
- webdev