php-extended/php-integer-capacity-object

实现 php-extended/php-integer-capacity-interface 包的库

7.0.6 2024-07-31 13:44 UTC

README

实现 php-extended/php-integer-capacity-interface 包的库

coverage build status

安装

该库的安装通过 composer 完成,并且通过其自动加载器自动加载该库的所有类。

  • 他们的网站下载 composer.phar
  • 然后运行以下命令将此库作为依赖项安装
  • php composer.phar require php-extended/php-integer-capacity-object ^7

基本用法

此库提供了 4 个类,用于从不同容器指定整数的容量。

  • BitIntegerCapacity 类使用位来计数整数的容量
  • ByteIntegerCapacity 类使用 8 位字节来计数整数的容量
  • StringIntegerCapacity 类使用字符串中排列的十进制数字来计数整数的容量
  • HexaIntegerCapacity 类使用字符串中排列的十六进制数字来计数整数的容量。

所有这些类都可以以下方式使用


use PhpExtended\Model\BitIntegerCapacity;
use PhpExtended\Model\ByteIntegerCapacity;
use PhpExtended\Model\StringIntegerCapacity;

$capacity = new BitIntegerCapacity(32);
// $capacity is now a 32-bit integer capacity

$capacity = new ByteIntegerCapacity($capacity);
// $capacity is now a 4-byte integer capacity

$capacity = new StringIntegerCapacity($capacity);
// $capacity is now a 10-digits integer capacity

$capacity = new BitIntegerCapacity($capacity);
// $capacity is now a 33-bit integer capacity
// note that due to roundings and the ever expanding 
// available maximum value, the number of bits needed to
// encode the same information increases !

所有这些类都可以使用正的非零整数作为容量,或者另一个 PhpExtended\Model\IntegerCapacityInterface 实例。

还提供了一个解析器,用于反序列化整数容量可能使用的 __toString() 方法提供的数据。


use PhpExtended\Model\IntegerCapacityResolver;

$resolver = new IntegerCapacityResolver();
$capacity = $resolver->resolveCapacity('8 bits');
// $capacity is now a BitIntegerCapacity with 8 as bit value.

许可证

MIT (见 许可证文件)。