dgame/php-optional

v0.8.0 2017-11-22 12:40 UTC

This package is auto-updated.

Last update: 2024-09-26 21:11:15 UTC


README

Scrutinizer Code Quality

Build Status

Rust-like Optional-type for PHP 7

Some - 一个有效的值

$some = some(42);
$this->assertTrue($some->isSome());
$this->assertEquals(42, $some->unwrap());

Some 与参数解包

$some = some(42);
$this->assertTrue($some->isSome($value));
$this->assertFalse($some->isNone());
$this->assertEquals(42, $value);

None - 一个无效的值

$none = none();
$this->assertTrue($none->isNone());
$this->assertFalse($none->isSome());

None 与参数解包

$none = none();
$this->assertTrue($none->isNone());
$this->assertFalse($none->isSome($value));
$this->assertNull($value);

Maybe - 根据您的值是否为 SomeNone 来决定

$maybe = maybe(null);
$this->assertTrue($maybe->isNone());
$maybe = maybe(42);
$this->assertTrue($maybe->isSome());
$this->assertEquals(42, $maybe->unwrap());

确保条件得到满足

$result = some(0)->ensure(function($value) {
    return $value > 0;
});
$this->assertTrue($result->isNone());