2.0.0
Added
OpenSoutheners\ByteUnitConverter\MetricSystem
enum for decimal or binary metric systemsOpenSoutheners\ByteUnitConverter\DataUnit
enum for bytes or bits data units- In order to support long numbers most-precisive operations now this library requires BCMath PHP extension
ByteUnitConverter::toArray
method to serialise to arrayByteUnitConverter::__toString
method to serialise to string with the closest unit appendedByteUnitConverter::__serialize
&ByteUnitConverter::__deserialize
methods to object serialization and deserializationByteUnit::lowerThan
method to check current unit lower than specified (opposite than already availablegreaterThan
)ByteUnitConverter::new
convenience method to create an instance of ByteUnitConverter classByteUnitConverter::usingBits
&ByteUnitConverter::usingBytes
to switch data units (using bytes by default)ByteUnitConverter::asRound
while precision method only operates during decimal conversions, this method will return a round number with no decimals (defaulted to false). E.g:
(string) ByteUnitConverter::new('1924')->toKiB(); // "1.87 KiB"
(string) ByteUnitConverter::new('1924')->asRound()->toKiB(); // "2 KiB"
Fixed
- Support to long numbers (floats or integers on PHP must be strings)
- Working with conversions sometimes returns float numbers when integers were the only allowed
- Correctness in all conversions and comparisons between different systems (decimal to binary, bytes to bits...)
Changed
OpenSoutheners\ByteUnitConverter\DecimalByteUnit
&OpenSoutheners\ByteUnitConverter\BinaryByteUnit
replaced byOpenSoutheners\ByteUnitConverter\ByteUnit
- Precision argument to
from
andtoBytesFromUnit
methods to*
methods (toTB
,toGB
,toMB
, etc...) now returns instance instead of number. Use the following to get it casted to a string:
(string) ByteUnitConverter::new('1024')->toKiB(); // "1.00 KiB"
Removed
ByteUnitConverter::conversion
static method (simplified toByteUnitConverter::new()->to...
)ByteUnitConverter::toBitsFromUnit
static method (we only use bytes as a starter, can switch to bits while having an instance but not before)