PHP 错误信息报告工具

v1.0 2017-08-11 13:52 UTC

This package is auto-updated.

Last update: 2024-09-18 13:04:41 UTC


README

Wano Screenshot

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/)