granam/strict-integer

此包已被弃用且不再维护。作者建议使用granam/integer包代替。

严格检查的轻量级整数容器的基础

2.1.1 2015-09-16 08:40 UTC

README

Build Status

PHP尚未提供标量类型提示(计划在PHP 7.0中实现)

因此,如果我们想确保标量类型,类型检查类是唯一的机会。

<?php
use Granam\Strict\Integer\StrictInteger;
use Granam\Strict\Integer\Exceptions\WrongParameterType;

$integer = new StrictInteger(12345);

// int(12345)
var_dump($integer->getValue());

$integerFromString = new StrictInteger("124578", false /* explicitly non-strict */);
// int(124578)
var_dump($integerFromString->getValue());

$integerFromFloatString = new StrictInteger("987.0", false /* explicitly non-strict */);
// int(987)
var_dump($integerFromFloatString->getValue());

$integerFromTrue = new StrictInteger(true, false /* explicitly non-strict */);
// int(1)
var_dump($integerFromTrue->getValue());

$integerFromNull = new StrictInteger(null, false /* explicitly non-strict */);
// int(0)
var_dump($integerFromNull->getValue());
// ...

// The type check is strict by default, therefore only integer is allowed to be passed
try {
  new StrictInteger(null);
} catch (WrongParameterType $integerException) {
  // Something get wrong: On strict mode expected integer only, got NULL
  die('Something get wrong: ' . $integerException->getMessage());
}