hereldar/results

允许开发者以任何方式处理结果。

0.9.0 2023-10-16 21:32 UTC

This package is auto-updated.

Last update: 2024-09-29 13:16:47 UTC


README

PHP Code Coverage Type Coverage Psalm Level Packagist License

此包包含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

执行

文档

鸣谢

许可协议

MIT许可(MIT)。请参阅LICENSE获取更多信息。