graham-campbell/exceptions

为开发和生产提供强大的错误响应系统


README

Laravel Exceptions 由 GrahamCampbell 创建并维护,为 Laravel 的开发和生产提供强大的错误响应系统。它可选地使用 Whoops 包来处理开发错误页面。您可以随时查看 变更日志发布安全策略许可行为准则贡献指南

Banner

Build Status StyleCI Status Software License Packagist Downloads Latest Version

安装

此版本需要 PHP 7.4-8.3 并支持 Laravel 8-11。

要获取最新版本,请使用 Composer 引入项目

$ composer require "graham-campbell/exceptions:^17.2"

安装后,如果您未使用自动包发现,则需要在您的 config/app.php 中注册 GrahamCampbell\Exceptions\ExceptionsServiceProvider 服务提供者。

然后您必须将您的 App\Exceptions\Handler 修改为扩展 GrahamCampbell\Exceptions\ExceptionHandler

Whoops 支持

如果您想启用调试错误页面,则需要引入 Whoops

$ composer require "filp/whoops:^2.15" --dev

我们的调试显示器将自动检测 Whoops 的存在。您可以阅读我们的源代码来更好地了解其工作原理。

配置

Laravel Exceptions 支持可选配置。

要开始,您需要发布所有供应商资产

$ php artisan vendor:publish

这将创建一个 config/exceptions.php 文件在您的应用程序中,您可以根据需要进行修改。同时,请确保检查此包中原始配置文件在发布之间的更改。

有一些配置选项

异常转换器

此选项('transformers')定义了为您的应用程序设置的每个异常转换器。这允许您将异常转换为其他异常,例如,将异常传递给显示器时,将其转换为完美结果。请注意,此列表按顺序处理,后续转换器可以根据需要修改前面转换器的结果。

异常显示器

此选项('displayers')定义了为您的应用程序设置的每个异常显示器。这些显示器按优先级排序。请注意,当我们处于调试模式时,我们将从列表中选择第一个有效的显示器;当我们不在调试模式时,我们将过滤掉所有冗长的显示器,然后从新列表中选择第一个有效的显示器。

显示器过滤器

此选项('filters')定义了显示器的每个过滤器。这允许您对显示器应用过滤器,以便确定每个异常应使用哪个显示器。这包括内容类型协商等内容。

默认显示器

此选项('default')定义了您应用程序的默认显示器。如果您的过滤器已经过滤掉了所有显示器,则将使用此显示器,否则将使我们无法显示异常。

异常级别

此选项('levels')定义了每个异常的日志级别。如果异常通过每个键的实例测试,则使用的日志级别是与每个键关联的值。

用法

目前没有Laravel异常的用法文档,但我们欢迎pull requests。

安全

如果您在此包中发现安全漏洞,请发送电子邮件至 [email protected]。我们将迅速解决所有安全漏洞。您可以在这里查看我们的完整安全策略。

许可证

Laravel Exceptions遵循MIT许可证(MIT)

企业版

作为Tidelift订阅的一部分提供

graham-campbell/exceptions的维护者以及成千上万的其他包维护者正在与Tidelift合作,为您提供构建应用程序时使用的开源依赖项的商业支持和维护。节省时间,降低风险,提高代码健康度,同时为实际使用的依赖项的维护者支付费用。 了解更多信息。