PHP面试题更新 2026-08-03

请说明在 Laravel 框架中如何对路由参数进行验证,包括验证机制和常用做法。

考察说明

考查对 Laravel 路由参数验证机制的理解和应用能力。

回答思路

  1. 【回答框架 1】Laravel 提供多种路由参数验证方式。常用方法是在控制器方法或路由闭包中使用表单请求验证,通过依赖注入将请求对象传入,并调用 validate 方法传入规则数组,针对路由参数进行校验。
  2. 【回答框架 2】另一种方式是使用路由参数绑定,结合自定义表单请求类,在表单请求类的 rules 方法中定义参数规则,Laravel 会自动验证并处理失败响应。
  3. 【回答框架 3】此外,可以使用中间件对路由参数进行预验证,或在路由定义中直接使用正则表达式约束参数格式,如 where 方法限制参数模式。
  4. 【回答框架 4】验证失败时,Laravel 默认返回 422 状态码和错误信息,可通过重写响应方法自定义返回格式。
  5. 【回答框架 5】对于复杂参数验证,推荐使用表单请求类,保持控制器简洁,便于复用和维护。
  6. 【关键点 1】表单请求验证是主要推荐方式,通过依赖注入实现自动验证。
  7. 【关键点 2】路由正则约束可快速限制参数格式。
  8. 【关键点 3】验证失败默认返回 422 状态码。
  9. 【关键点 4】表单请求类可提升代码复用性和可维护性。
  10. 【易错点 1】避免在控制器中堆积大量验证逻辑,应使用表单请求类。
  11. 【易错点 2】正则约束仅能校验格式,复杂业务规则仍需验证器处理。
  12. 【易错点 3】验证规则需与路由参数名一致,否则验证无效。