hereldar / results
允许开发者以任何方式处理结果。
0.9.0
2023-10-16 21:32 UTC
Requires
- php: ^8.1.17|^8.2.4|^8.3.0
Requires (Dev)
- fakerphp/faker: ^1.21
- phpunit/phpunit: ^10.1
README
此包包含Rust中《Result》类型的意见版。它并不打算一对一地复制原始类型,而是允许开发者以任何方式处理结果。
使用示例
此Result类型允许在不使用try-catch块的情况下忽略错误
$value = getValue()->or($default);
它还允许将错误抛出为常规异常
doSomething()->orFail();
或者抛出自定义异常
doSomething()->orThrow(new MyException());
更复杂的流程可以通过连接操作来处理
$record = fetchRecord() ->andThen(updateIt(...)) ->orElse(insertIt(...)) ->orFail();
还有更多
doSomething() ->onFailure(logFailure(...)) ->onSuccess(logSuccess(...)) ->onSuccess(doSomethingElse(...));
安装
通过Composer
composer require hereldar/results
开发
从项目文件夹中运行以下命令
make tests make static-analysis make coding-standards
执行
- 执行PHPUnit测试套件。
- PHPStan和Psalm进行静态代码分析。
- Easy Coding Standard修复编码标准。
文档
鸣谢
许可协议
MIT许可(MIT)。请参阅LICENSE获取更多信息。