用途:在 PHP 项目中实现现代错误与异常处理模式,适用于构建异常层级、注册全局错误处理器以及定义自定义异常。
主要能力:
- 异常层级:以异常驱动错误处理,优先抛出异常而非返回 false 或 null;自定义异常继承 RuntimeException 或 LogicException;在 catch 中使用联合类型多捕获,例如 catch (DomainException | InvalidArgumentException $e)。
- 全局错误处理:始终捕获 Throwable 以同时覆盖 PHP 7/8 的 Error 与 Exception;使用 set_exception_handler 和 set_error_handler 做顶层日志与清理;用 finally 释放资源(如关闭文件句柄、数据库连接);实现 Psr\Log\LoggerInterface 进行结构化错误上报;生产环境确保 php.ini 中 display_errors=Off、log_errors=On。
反对模式:不使用 @ 抑制错误;不写空的 catch 块(需记录或重新抛出);不用异常控制正常流程,仅用于意外错误;生产环境不开 display_errors。
限制与缺失:资料未提供具体目录结构、安装命令、代码示例细节及版本要求,暂未提供。