PHP实现RESTful API需遵循HTTP方法语义、统一资源路径、合理状态码及JSON响应;核心包括设置响应头、解析请求、读取JSON数据、路由分发与标准返回。

PHP 实现 RESTful API 接口,核心是遵循 HTTP 方法语义、统一资源路径设计、合理使用状态码、返回结构化 JSON 数据。不依赖框架也能快速搭建轻量、可维护的标准接口。
明确资源与 HTTP 方法对应关系
REST 的本质是“面向资源”,每个 URL 代表一个资源,操作方式由 HTTP 方法决定:
- GET /api/users:获取用户列表(支持分页参数如 ?page=1&limit=10)
- GET /api/users/123:获取 ID 为 123 的单个用户
- POST /api/users:创建新用户(请求体含 JSON 数据)
- PUT /api/users/123:全量更新用户 123(推荐用 PATCH 做部分更新)
- DELETE /api/users/123:删除该用户
基础 PHP 脚本实现要点
无需框架,纯 PHP 也能写出符合规范的接口。关键步骤包括:
- 设置响应头:
header('Content-Type: application/json; charset=utf-8'); - 解析请求方法和路径:用
$_SERVER['REQUEST_METHOD']和parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) - 读取 POST/PUT/PATCH 的 JSON 数据:
$input = json_decode(file_get_contents('php://input'), true); - 根据路由分发逻辑(可用简单 switch 或路由映射数组)
- 返回标准 JSON 响应,例如:
json_encode(['code' => 200, 'data' => $user, 'message' => 'success'])
状态码与错误处理要规范
HTTP 状态码不是摆设,它直接影响前端行为和调试效率:
立即学习“PHP免费学习笔记(深入)”;
- 200 OK:GET 成功、PUT/POST 更新成功(或返回 201)
-
201 Created:POST 创建资源成功,且响应中应含
Location头指向新资源地址 - 400 Bad Request:参数缺失、JSON 格式错误、字段校验失败
- 401 Unauthorized:未登录或 Token 无效
- 403 Forbidden:已认证但无权限操作该资源
- 404 Not Found:资源不存在(如 /users/999)
- 500 Internal Server Error:服务端异常,避免暴露敏感错误信息给前端
安全与实用增强建议
生产环境需考虑基本防护和可维护性:
- 启用 HTTPS,禁用 HTTP 明文传输
- 对敏感操作(如删除、修改)做权限校验,不要只靠前端隐藏按钮
- 对输入数据严格过滤与验证(如用
filter_var()或自定义规则) - 限制请求频率(简易可用 $_SESSION 或 Redis 记录 IP+接口+时间戳)
- 日志记录关键操作(如登录、删库、资金变动),便于审计追踪
基本上就这些。写得清楚、测得充分、文档跟上,就是合格的 PHP REST 接口。











