carlosupreme/error-or

一个简单的类,用于以更优雅的方式处理错误和结果。

1.0.0 2024-06-19 21:30 UTC

This package is auto-updated.

Last update: 2024-09-07 01:48:24 UTC


README

这个PHP库提供了一种处理结果的方法,这些结果可以是值或错误,类似于其他语言中的ErrorOr模式。这对于可能失败的方法特别有用,允许您以统一的方式处理错误和成功的结果。

安装

您可以使用Composer安装此库。在您的项目根目录中运行以下命令

composer require carlosupreme/error-or

用法

错误类

Error类表示可能发生的不同类型的错误。

创建错误

您可以使用Error类的静态方法创建错误

use Carlosupreme\ErrorOr\Error;

// Creating a failure error
$error = Error::failure();

// Creating an unexpected error
$error = Error::unexpected();

// Creating a validation error
$error = Error::validation('validation_code', 'Validation failed.');

检查错误详情

echo $error->getCode();         // Outputs the error code
echo $error->getDescription();  // Outputs the error description
echo $error->getType();         // Outputs the error type

错误或类

ErrorOr类用于表示结果,该结果可以是值或错误。

创建错误或

您可以从值或一个或多个错误中创建ErrorOr实例

use Carlosupreme\ErrorOr\ErrorOr;

// From a value
$result = ErrorOr::fromValue('some value');

// From a single error
$errorResult = ErrorOr::fromError($error);

// From multiple errors
$multiErrorResult = ErrorOr::fromErrors($error1, $error2);

处理结果

您可以检查结果是否为错误,并相应地访问值或错误

if ($result->isError()) {
    $errors = $result->getErrors();
    $firstError = $result->getFirstError();
} else {
    $value = $result->getValue();
}

测试

要运行测试,请使用以下命令

vendor/bin/phpunit tests

致谢

此库受amantinband的ErrorOr启发。C#中的原始实现可以在此处找到。

许可证

本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。

此README提供了库的概述、用法示例、运行测试的说明以及原作者的致谢。根据您的实际项目设置,根据需要调整安装部分和其他部分。