PHP面试题更新 2026-08-05

请描述在 Yaf 框架下,采用何种机制来统一处理全局错误和异常,并据此定制展示给用户的自定义错误页面?

安全意识技术原理问题排查PHPYaf

考察说明

考查对 Yaf 框架错误与异常处理机制以及自定义错误页面实现方式的掌握程度。

回答思路

  1. 【回答框架 1】Yaf 框架通过插件机制和内置的 ErrorController 实现错误与异常的全局处理。可以在 Bootstrap 中注册插件,并在插件的 dispatchLoopShutdown 或 routerStartup 等钩子中设置错误处理函数,但更常见的是在配置中开启 errors 选项并定义 ErrorController。
  2. 【回答框架 2】ErrorController 是 Yaf 处理错误和异常的核心,当应用出现未捕获异常或错误时,框架会分发到 ErrorController 的 errorAction 方法。该方法接收异常对象,根据异常类型记录日志或展示相应提示。
  3. 【回答框架 3】自定义错误页面可通过修改 ErrorController 的错误处理逻辑,并创建对应的视图模板实现。例如,在 errorAction 中根据错误码或异常类型选择不同模板,向用户呈现友好的错误信息,同时记录详细的错误日志供排查。
  4. 【关键点 1】Yaf 通过 ErrorController 统一处理未捕获异常和错误。
  5. 【关键点 2】在 Bootstrap 或配置中注册错误处理插件。
  6. 【关键点 3】自定义错误页面需修改 errorAction 并添加视图模板。
  7. 【关键点 4】生产环境应关闭错误显示,记录日志并展示友好页面。
  8. 【易错点 1】忽略错误处理会导致敏感信息泄露。
  9. 【易错点 2】仅在前端捕获错误而忽略后端日志记录。
  10. 【易错点 3】将业务异常与系统错误混在同一处理逻辑中。