此包已被废弃,不再维护。未建议替代包。

增强 \Exception 的 PHP 库。

v0.3.0 2019-01-12 15:21 UTC

This package is auto-updated.

Last update: 2020-02-12 17:47:22 UTC


README

Scrutinizer Code Quality Code Coverage Build Status

增强 \Exception 的 PHP 库。

为什么?

\Exception 提供的信息不足以轻松调试。

实际上,堆栈跟踪有时难以理解,信息可能不充分。

DrWatson 是开发者的个人调查助手,提供类型、嫌疑和帮助。

安装

composer require blacksmith-project/dr-watson

如何使用

您可以抛出 DrWatson::report

  • 类型会告诉您异常是输入问题、领域还是内部问题。

这将帮助您快速了解谁失败了,以及您可以做出哪些快速推断。

  • 输入 = 用户失败,通知用户。
  • 领域 = 需要对代码进行进一步调查。
  • 内部 = 检查代码,但也许某些基础设施失败了(例如 BDD)。
  • 嫌疑将帮助您快速定位到正确的位置。
  • 帮助将解释为什么它失败了。一些业务逻辑可以在此处公开,以帮助您缩小问题范围。

示例

if (!$this->isValid($email)) {
    throw new DrWatson(
        ExceptionType::INPUT(),
        'email',
        'It seems that User provided an invalid email. Please make sure a typo was not made.',
        'input.email.invalid'
    );
}