auroro/result
最新稳定版本:v0.5.0
Composer 安装命令:
composer require auroro/result
包简介
Errors as values: a Result type with Ok and Err variants
README 文档
README
Errors as values: a Result type with Ok and Err variants for PHP 8.3+.
Installation
composer require auroro/result
Usage
use Auroro\Result\Ok; use Auroro\Result\Err; use Auroro\Result\Result; use function Auroro\Result\ok; use function Auroro\Result\err;
Creating results
$ok = new Ok(42); $err = new Err('something went wrong'); // Or use the helper functions $ok = ok(42); $err = err('something went wrong');
Checking and unwrapping
$result->isOk(); // true | false $result->isErr(); // true | false $result->unwrap(); // returns value or throws LogicException $result->error(); // returns error or throws LogicException $result->unwrapOr(0); // returns value or the default
Transforming
// Map the success value ok(2)->map(fn ($v) => $v * 3); // Ok(6) // Chain into another Result ok(10)->andThen(fn ($v) => $v > 0 ? ok($v) : err('negative')); // Map the error err('fail')->mapError(fn ($e) => "wrapped: $e"); // Err("wrapped: fail")
Static factories
// Wrap a callable — exceptions become Err Result::try(fn () => riskyOperation()); // Ok(value) | Err(Throwable) // Collect results — short-circuits on first Err Result::all([ok(1), ok(2), ok(3)]); // Ok([1, 2, 3]) Result::all([ok(1), err('x')]); // Err('x') // Null check Result::from($value, 'missing'); // Ok($value) if non-null, Err('missing') if null
License
MIT
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-16