首先创建api.php文件并处理HTTP请求方法,接着通过$_SERVER['REQUEST_METHOD']判断请求类型;然后分别对GET和POST请求进行参数接收与数据处理,GET使用$_GET获取查询参数,POST读取php://input流解析JSON数据;之后设置统一的JSON响应格式,封装response()函数返回code、msg和data;最后添加CORS跨域支持,设置Access-Control-Allow-Origin等头部,并处理OPTIONS预检请求。

如果您需要为Web应用提供数据交互功能,但不确定如何使用PHP编写接口,则可能是由于对HTTP请求处理和数据格式返回不够熟悉。以下是实现PHP接口开发的具体步骤:
本文运行环境:联想小新Pro 16,Windows 11
RESTful接口通过标准的HTTP方法(如GET、POST)来操作资源,适合前后端分离架构中的数据通信。使用PHP可以快速构建基于URL路径和请求方式的响应逻辑。
1、在项目根目录下创建一个名为api.php的文件,用于接收所有接口请求。
立即学习“PHP免费学习笔记(深入)”;
2、通过$_SERVER['REQUEST_METHOD']获取当前请求类型,并进行条件判断。
3、根据不同的请求方法执行对应的数据处理逻辑,例如GET用于读取数据,POST用于提交数据。
4、设置响应头为JSON格式:header('Content-Type: application/json');,确保前端能正确解析返回内容。
GET请求通常用于从服务器获取资源,参数通过URL查询字符串传递。PHP通过$_GET超全局数组来接收这些参数,需对其进行验证与过滤以确保安全性。
1、在api.php中检查请求是否为GET方法:if($_SERVER['REQUEST_METHOD'] === 'GET')。
2、从$_GET中提取所需参数,例如?id=123,使用intval($_GET['id'])进行类型转换和基础防护。
3、构造SQL查询语句或调用数据服务层获取对应记录。
4、将结果封装成关联数组并通过json_encode输出。
POST请求用于向服务器提交数据,常用于用户注册、登录等场景。PHP通过file_get_contents("php://input")读取原始请求体内容,尤其适用于JSON格式的数据提交。
1、判断请求方式是否为POST:if($_SERVER['REQUEST_METHOD'] === 'POST')。
2、使用$file = file_get_contents("php://input");读取输入流中的JSON数据。
3、将JSON字符串解析为PHP数组:$data = json_decode($file, true);。
4、对$data中的字段进行合法性校验,如检查必填项是否存在。
5、执行数据库插入操作或业务逻辑处理,并返回成功或错误信息。
为了便于前端统一处理响应数据,应定义一致的返回结构,包含状态码、消息提示和实际数据内容。
1、定义一个通用的返回函数function response($code, $message, $data = []) {}。
2、在函数内部组装数组:$result = ['code' => $code, 'msg' => $message, 'data' => $data];。
3、使用echo json_encode($result, JSON_UNESCAPED_UNICODE);输出结果。
4、在各个逻辑分支中调用response()函数返回标准化信息。
在前后端分离项目中,前端可能部署在不同域名下,需在PHP接口中启用CORS(跨域资源共享),否则浏览器会阻止请求。
1、在api.php顶部添加响应头:header("Access-Control-Allow-Origin: *");允许所有来源访问。
2、设置允许的请求方法:header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE");。
3、设置允许的请求头:header("Access-Control-Allow-Headers: Content-Type, Authorization");。
4、对于预检请求(OPTIONS),直接exit终止脚本执行。
以上就是怎么用php写接口_PHP接口开发与实现方法教程的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号