kktsvetkov / wano
PHP 错误信息报告工具
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-18 13:04:41 UTC
README
Wano
Wano(简称 WArnings & NOtices),是一个小巧的 PHP 工具,旨在帮助报告 PHP 错误信息。
它旨在非常易于使用。如果你有任何关于 PHP 错误信息(如警告和注意事项)的经验,你就会知道它们突然出现在你打印的标记中间是多么令人烦恼,在属性和 HTML 标签之间,破坏了事物。 Wano 就是用来解决这个问题的。
还需要提到的是,忽略和静音 PHP 错误信息是一种糟糕的政策。这会影响到你的 PHP 代码性能。如果你清理了所有的警告、注意事项等,你将提高脚本的执行时间。
基本用法
为了使用它,你只需要调用 \Wano\Nab::register()
\Wano\Nab::register();
...就这样。将使用默认设置和配置,你不需要做任何事情。
它是如何工作的?
Wano 做了两件事
- 首先,它注册了一个自定义的错误处理器,该处理器将收集代码引发的 PHP 错误信息
- 其次,它通过 register_shutdown_function()附加了一个回调,在页面结束时打印收集到的 PHP 错误信息
通过上述操作,你将拥有没有 PHP 错误信息的打印 HTML 内容,同时你仍然可以在页面的末尾看到它们作为报告。就这么简单。这个想法不是要有一个笨拙和过度装饰的库,而是一个工作良好的简单工具。
里面有什么?
如上所述,Wano 执行了两个任务:a) 收集 PHP 错误信息;b) 在页面末尾打印它们。
\Wano\Nab
是一个具有自定义错误处理器的类,用于收集 PHP 错误信息。
\Wano\Display\
命名空间包含用于渲染收集到的 PHP 错误信息列表的类。有一个 \Wano\Display\DisplayInterface
接口,如果你想创建一个新的此类 "Display" 类,则必须实现该接口。
高级使用
以下是你可以做的,以跳出默认行为和设置。
你可以选择 Wano 应该收集哪种类型的 PHP 错误级别。格式与 error_reporting() 使用的是相同的格式——错误级别的位掩码。这作为 \Wano\Nab::register()
的参数提供
\Wano\Nab::register(E_WARNING | E_USER_WARNING | E_NOTICE | E_USER_NOTICE);
回溯对于跟踪特定 PHP 错误信息是如何引发的非常有帮助。另一方面,在某些情况下,对于某些 PHP 错误级别,有回溯只是额外的开销。使用相同的位掩码格式,你可以声明在报告时包含哪些 PHP 错误级别的回溯
\Wano\Nab::$backtrace = E_WARNING | E_USER_WARNING;
你可以通过创建自己的 \Wano\Display
类来更改打印结果。为此,你必须创建一个新的类,该类实现了 \Wano\Display\DisplayInterface
接口,然后使用 \Wano\Nab::setDisplay()
方法将其附加
\Wano\Nab::setDisplay(new \Wano\Display\BasicDisplay);
不推荐这样做,但如果你想,你可以直接手动向 Wano 报告,如下所示
\Wano\Nab::error_log(E_USER_WARNING, 'egati probata', __FILE__, __LINE__);
如果您出于任何原因不希望register_shutdown_function()打印结果,您可以手动完成。为此,您需要将\Wano\Nab::register()
替换为\Wano\Nab::registerErrorHandler()
,这将仅附加自定义错误处理程序。然后,您准备好打印结果,需要调用\Wano\Nab::display()
\Wano\Nab::registerErrorHandler(); ... // It's time, print what you have collected already \Wano\Nab::display();
示例
您可以在examples/
文件夹中找到一些示例。[在这里查看它们的效果](https://github.com/kktsvetkov/Wano/blob/HEAD//examples/)