carlosupreme / error-or
一个简单的类,用于以更优雅的方式处理错误和结果。
1.0.0
2024-06-19 21:30 UTC
Requires
- php: ^8.3
Requires (Dev)
- phpunit/phpunit: ^11.2
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提供了库的概述、用法示例、运行测试的说明以及原作者的致谢。根据您的实际项目设置,根据需要调整安装部分和其他部分。