验收AI生成PHP代码需四查:一查输入输出是否匹配业务场景,确认参数来源与返回格式;二查SQL注入、XSS、目录穿越、权限校验等安全漏洞;三查异常流、并发、状态变更等逻辑覆盖;四查命名、注释、配置化与类职责等可维护性。

看输入输出是否匹配业务场景
AI生成的PHP代码常忽略真实参数来源和边界情况。验收时先确认:函数或脚本接收的变量是否来自预期渠道(如$_POST、$_GET、数据库查询结果),返回值或输出是否符合下游调用方的要求(比如API需JSON、页面渲染需HTML片段)。别只跑通“hello world”示例——试着传入空字符串、超长文本、含特殊字符的用户名,观察是否崩溃或返回错误格式。
查关键安全漏洞是否被绕过
AI容易写出看似简洁但存在高危隐患的代码。重点检查以下几项:
- SQL拼接是否出现直接拼接 $_GET['id'],而没用PDO预处理或至少intval()/filter_var()过滤
- 输出到HTML前是否遗漏htmlspecialchars(),导致XSS风险
- 文件操作(如file_get_contents、include)是否校验路径,防止目录穿越(如../../etc/passwd)
- 敏感操作(如删除、支付)是否缺失权限校验(如is_admin()或session角色判断)
验逻辑是否真能覆盖需求分支
AI倾向写“主流程正确”的代码,但对异常流、并行场景、状态变更不敏感。例如用户注册功能,AI可能只实现“邮箱未存在→插入成功”,却漏掉:
- 邮箱已存在时返回什么?是HTTP 409还是自定义错误码?
- 数据库唯一索引冲突后,是否捕获PDOException并友好提示?
- 并发注册同一邮箱,是否因竞态导致双写或提示错乱?
建议对照原始需求文档,逐条标记“成功/失败/超时/重试/权限不足”等分支,确保每种情况都有明确处理,而非靠默认异常抛出兜底。
测可维护性:命名、注释与扩展成本
一段能跑的代码不等于可交付的代码。快速扫一眼就能发现的问题包括:
- 变量名是否表达意图(如$a vs $userEmail)
- 关键算法或非直观逻辑是否有简短注释(不是“// 循环”,而是“// 按权重轮询可用支付网关”)
- 硬编码值是否提取为常量或配置(如API地址、超时秒数、状态码)
- 新增一个字段或一种状态,是否需要改5个地方?理想情况是只改配置或加1个case
如果AI生成的是类,再看它是否遵循单一职责——一个类只管数据校验,就别让它同时负责发邮件和写日志。
立即学习“PHP免费学习笔记(深入)”;



















