tephida/corner

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

通用的PHP异常和错误,使其更加友好。

0.1.2 2022-04-16 14:34 UTC

This package is auto-updated.

Last update: 2023-03-25 20:48:57 UTC


README

Linux Build Status Latest Stable Version Latest Unstable Version License Downloads

PHP异常和错误设计用于防止用户遇到尖锐的角落。受Rust的帮助性错误消息启发。

  • 版本1.x: 需要 PHP 8.0 或更高版本。

动机

已经有了像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()

我在哪里可以找到帮助?

此方法的目的是为使用你的项目的开发者提供最快的路径来调试和解决问题,如果抛出此异常/错误,他们最可能遇到的问题。

如果可能的话,链接到你的项目文档的特定部分(包括页面锚点,如果适用),以便开发者更接近他们遇到的问题的解决方案。