granam / strict-integer
Base for lightweight integer containers with strict checks
Installs: 447
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=5.4
- granam/exception-hierarchy: ^2.1.2
- granam/integer: ~3.0
- granam/strict-scalar: ~2.0
Requires (Dev)
- mockery/mockery: >=0.9
- phpunit/phpunit: ~4.4
README
PHP does not provide scalar type hinting yet (planned for PHP 7.0).
For that reason, if we want to be sure about scalar type, a type-checking class is the only chance.
<?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()); }