blacksmith-project / dr-watson
此包已被废弃,不再维护。未建议替代包。
增强 \Exception 的 PHP 库。
v0.3.0
2019-01-12 15:21 UTC
Requires
- myclabs/php-enum: ^1.6
Requires (Dev)
- escapestudios/symfony2-coding-standard: ^3.4
- mnapoli/pretty: ^1.0
- phpstan/phpstan: ^0.10
- phpunit/phpunit: ^7.3
- squizlabs/php_codesniffer: ^3.3
README
增强 \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' ); }