granam/boolean

具有独立转换器的轻量级布尔容器

安装量: 12,448

依赖者: 5

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

公开问题: 0

类型:项目

3.3.1 2021-03-23 15:24 UTC

This package is auto-updated.

Last update: 2024-09-24 17:06:22 UTC


README

Build Status Test Coverage

提示

首先,请确保您不需要仅仅是一个简单的内置布尔验证.

内部行为与(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