granam / strict-scalar
This package is abandoned and no longer maintained.
The author suggests using the granam/scalar package instead.
Lightweight scalar-type wrapper with strict checks
Package info
github.com/jaroslavtyc/granam-strict-scalar
Type:project
pkg:composer/granam/strict-scalar
2.1.2
2015-09-16 11:22 UTC
Requires
- php: >=5.4
- granam/exception-hierarchy: ~2.1
- granam/scalar: ~1.0
- granam/strict-object: ~1.1
Requires (Dev)
- mockery/mockery: >=0.9
- phpunit/phpunit: ~4.4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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.
Warning: Non-strict scalar does not cast null - it remains null.
<?php
use Granam\Strict\Scalar\StrictScalar;
use Granam\Strict\Scalar\Exceptions\WrongParameterType;
$scalar = new StrictScalar('foo');
// foo
echo $scalar;
$nullScalar = new StrictScalar(null, false /* suppressed strictness */);
// false
echo is_scalar($nullScalar->getValue());
// true
echo is_null($nullScalar->getValue());
try {
new StrictScalar(null);
} catch (WrongParameterType $scalarException) {
// Strict scalar has to get a scalar value. Null is not a scalar.
die('Something get wrong: ' . $scalarException->getMessage());
}