granam / boolean
具有独立转换器的轻量级布尔容器
3.3.1
2021-03-23 15:24 UTC
Requires
- php: >=7.3
- granam/scalar: ~5.0
Requires (Dev)
- granam/exceptions-hierarchy: ~5.0
- mockery/mockery: ~1.2
- phpunit/phpunit: ~9.3
- roave/security-advisories: dev-master
README
提示
首先,请确保您不需要仅仅是一个简单的内置布尔验证.
内部行为与(bool)$value相同,但是
- 非标量值(数组、资源、没有__toString等的对象)会抛出异常
- 具有__toString魔术方法的对象会先通过该方法转换为字符串,然后转换为布尔值
- null 可以通过抛出异常来拒绝,如果需要的话
<?php use Granam\Boolean\Boolean; $booleanFromInteger = new Boolean(12345); // bool(true) var_dump($booleanFromInteger->getValue()); $booleanFromString = new Boolean('124578'); // bool(true) var_dump($booleanFromString->getValue()); $booleanFromFloatString = new Boolean('987.654'); // bool(true) var_dump($booleanFromFloatString->getValue()); $booleanFromZero = new Boolean(0); // bool(false) var_dump($booleanFromZero->getValue()); $booleanFromNull = new Boolean(null, false /* not strict */); // bool(false) var_dump($booleanFromNull->getValue()); // ... // exception is raised (\Granam\Boolean\Tools\Exceptions\WrongParameterType) new Boolean(null); // implicitly strict - NULL is "unknown" state and therefore forbidden