跳转到主内容
极星编程网:以代码为星,赴技术山海!

PHP实现接口Mock_前端开发无需后端配合【说明】

用PHP写轻量Mock服务,一个api.php文件即可:设Content-Type、处理GET/POST/JSON body、支持状态码与延迟、配虚拟域名api.dev、严格对齐真实接口数据结构。 前端 开发卡在接口没通、后端还没写完?直接用 PHP 写个轻量 Mock 服务,不装 Node、不配 Docker,改个
hosts
就能本地跑通。 用纯 PHP 文件快速返回 JSON 数据 最简方式:一个
api.php
文件搞定,适合单接口临时联调。 必须显式设置
Content-Type: application/json
,否则前端
fetch
可能解析失败 用
$_GET
或
$_POST
判断参数分支,比如
api.php?status=error
返回 500 模拟异常 别直接
echo json_encode($data)
就完事——要加
JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
避免中文转义和 URL 斜杠被编码 如果前端发的是
application/json
body,得用
file_get_contents('php://input')
读原始数据,再
json_decode
用 Apache/Nginx 虚拟域名统一入口 避免前端硬编码
localhost:8000
,也防止跨域问题。 在系统
/etc/hosts
(macOS/Linux)或
C:\Windows\System32\drivers\etc\hosts
(Windows)末尾加一行:
127.0.0.1 api.dev
Apache 配置
指向你放
api.php
的目录;Nginx 则配
server_name api.dev
+
root
路径 前端代码里直接请求
https://api.dev/user/list
,和最终上线域名一致,后期零改动 注意:HTTPS 会报证书错误,开发阶段用 HTTP 即可;若强制 HTTPS,需自签证书并信任,不推荐 按请求头或参数动态返回不同响应 光有固定 JSON 不够,真实联调要测 loading、空列表、权限不足、网络超时等场景。 PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 立即学习 “ PHP免费学习笔记(深入) ”; 检查
$_SERVER['HTTP_X_MOCK_STATUS']
头,比 GET 参数更干净,不污染 URL 用
header('HTTP/1.1 401 Unauthorized')
主动设状态码,不能只靠 JSON 里
"code": 401
模拟延迟:加
usleep(1000000)
(1 秒),验证前端 loading 状态是否正常触发 模拟 CORS:加
header('Access-Control-Allow-Origin: *')
和
Access-Control-Allow-Methods
,但上线前务必删掉 Mock 数据结构必须与真实接口严格一致 这是最容易被忽略、却导致联调返工最多的一点。 后端字段名改一个下划线、多嵌一层
data
、时间戳格式从秒变毫秒,前端解析就崩。Mock 阶段就要对齐: 让后端提供一份 Swagger/OpenAPI 文档,或至少给个
curl -X GET http://real-api/user
的原始响应,直接复制粘贴进 PHP 数组 不要手写
'user_id' => 123
,而要照抄真实返回里的
'userId' => 123
(大小写、驼峰、下划线) 数组键顺序不重要,但嵌套层级、
null
/
""
/
[]
的类型必须一致——PHP
json_encode
会自动处理,但初始化数组时别写错

相关文章