withinboredom / bytes
Convert between bytes
v1.1.0
2024-02-25 12:32 UTC
Requires
- php: >=8.3
Requires (Dev)
- laravel/pint: ^1.14
- pestphp/pest: ^2.34
README
This library allows you to create define data units in a nearly native way, compare them, and convert between them.
Use this:
composer require withinboredom/bytes
This library is unusual!
The following code is 100% valid:
$kb = \Withinboredom\Bytes\Kilobytes(128)->multiply(1000); $mb = \Withinboredom\Bytes\Megabytes(125); $tb = \Withinboredom\Bytes\Terrabytes(1); $arr = [$kb, $mb, $tb]; // sort the array usort($arr, \Withinboredom\Bytes\Bytes::compare(...)); // values with the same units are always triple-equal to each other assert($kb->megabytes() === $mb); // values with the same units are always natively comparable assert($mb < $tb->megabytes()); // you can always expect a certain unit function test(\Withinboredom\Bytes\Megabytes $megabytes): void; // or convert them to your expected unit in your body function test(\Withinboredom\Bytes\DataUnit $size): void; // get base-2 sized values echo $kb->getBinaryValue(); // or si-units echo $kb->getSiValue();