paragonie / corner
通用的PHP异常和错误,使其更加用户友好。
v2.0.1
2020-01-20 00:57 UTC
Requires
- php: ^7.1|^8
Requires (Dev)
- phpunit/phpunit: ^7
- psalm/plugin-phpunit: <1
- vimeo/psalm: ^3
This package is auto-updated.
Last update: 2024-08-29 05:24:22 UTC
README
PHP异常和错误,旨在防止用户的用户界面出现锐角。灵感来源于Rust的有帮助的错误信息。
- 版本2.x: 需要PHP 7.1或更高版本。
- 版本1.x: 需要PHP 5.4或更高版本。
动机
已经存在一些库,如Whoops,这些库专注于捕获现有的未捕获异常并为其提供一个用户界面。
Corner不是控制您的整个UI输出,而是扩展了基类Throwable
接口以及Exception
/Error
类,使它们即使在非UI环境中也更加有用。
Corner的扩展异常API
getHelpfulMessage()
这里到底发生了什么?
想象一封电子邮件。Throwable::getMessage()
可以比作主题行。在传统的异常中,您拥有的最接近消息体的是getTraceAsString()
。
在Corner中,“有帮助的信息”旨在是问题的完整文本说明。允许使用ASCII艺术图(如果适用,可以是从源代码硬编码或生成的)。
getSnippet($before = 0, $after = 0, $traceWalk = 0)
异常周围的代码做了什么?
默认情况下,这个方法返回触发异常的PHP代码行。
您可以选择传递一些前导和尾随行到这个方法,以便从源代码文件中读取更多文本。第三个参数允许您从堆栈跟踪中提取代码片段。
getSnippet()
的主要用例是为getHelpfulMessage()
生成有帮助的错误信息。
getSupportLink()
我在哪里可以找到帮助?
这个方法的目的是为使用您的项目的开发者提供最快捷的路径来调试和解决问题,如果抛出此异常/错误,他们最有可能遇到。
如果可能,请链接到您项目文档的特定部分(包括页面锚点,如果适用),以便将开发者带到他们遇到的任何问题的解决方案附近。