dereuromark / cakephp-whoops

CakePHP 错误处理器

安装量: 75,049

依赖项: 1

建议者: 0

安全性: 0

星标: 13

关注者: 4

分支: 6

开放问题: 1

类型:cakephp-plugin

2.0.0-RC 2023-10-11 22:26 UTC

This package is auto-updated.

Last update: 2024-09-12 15:04:41 UTC


README

CI Total Downloads Latest Stable Version Minimum PHP Version License

无缝将 Whoops 集成到 CakePHP 应用程序中。

演示视频: Linux Mint + Firefox

此分支适用于 CakePHP 5.0+。详细信息请参阅 版本映射

安装

使用 Composer

composer require dereuromark/cakephp-whoops

由于此包仅提供 CakePHP 的 Whoops 处理器,因此无需启用它(无需 ->addPlugin() 调用)。您只需配置 config/app.phpconfig/app_local.php 中的渲染器类即可。

'Error' => [
	'exceptionRenderer' => \CakephpWhoops\Error\WhoopsExceptionRenderer::class,
	'errorRenderer' => \CakephpWhoops\Error\WhoopsErrorRenderer::class
],

当使用新的 Application.php 和 Middleware 方法时,您也需要调整这一点。

// Replace ErrorHandlerMiddleware with
 ->add(new \CakephpWhoops\Error\Middleware\WhoopsHandlerMiddleware(Configure::read('Error')))

调试模式

重要提示:此插件作为必需依赖项安装,但它更常作为 require-dev 使用。如果关闭调试模式,它将完全忽略 Whoops 处理器,因为没有调试模式就没有异常可以渲染。然后它将显示公共错误消息,并在内部记录。

因此,请确保您启用调试(本地)以检查此包。然后,您应该在屏幕上看到改进的 whoops 处理器输出。

编辑器

通过在浏览器中单击文件在编辑器中打开受到大多数主要 IDE 的支持。它使用 phpstorm:// URL,这可以通过命令行调用打开文件并直接跳转到正确行。

设置您的配置如下

	'Whoops' => [
		'editor' => true,
	],

以启用它。

如果您正在使用虚拟机,例如 CakeBox,您还需要路径映射

		'userBasePath' => 'C:\wamp\www\cakebox\Apps\my-app.local',
		'serverBasePath' => '/home/vagrant/Apps/my-app.local',

如果您想覆盖默认 URL 处理器(phpstorm://),可以通过将 ideLinkPattern 选项设置为自定义 URL 处理器来实现。

  • PhpStorm: phpstorm://open?file=%s&line=%s
  • Visual Studio Code: vscode://file/%s:%s

有关不同操作系统和浏览器的更多详细信息,请参阅 Wiki。

严格性

作为额外的好处,错误处理器在这里对开发更加严格。它不仅会忽略警告和其他错误,而且会以相同的方式显示它们,以便像异常一样轻松快速地修复它们。

通常,当找不到变量时,所有后续代码也可能无法产生任何有用的结果,如下面的示例所示。最好首先编写更干净的代码,并尽量避免产生任何警告或通知。

之前

Screenshot

之后

Screenshot