开发 php 的 restful api 需遵循统一接口设计规范。首先,接口路由应使用名词复数形式表示资源,如 /users,并根据请求方法区分操作类型,get 获取列表、get /{id} 获取指定资源、post 创建、put 更新、delete 删除。其次,建议采用前端控制器模式,将所有请求指向一个入口文件并分发处理。第三,请求参数方面 get 使用查询字符串,post/put 使用 json body,响应格式应统一为包含 code、message 和 data 的 json 结构。第四,身份验证可采用 jwt 或 api key,推荐使用 firebase/php-jwt 库实现 Token 签发与验证。最后,数据库操作建议封装成模型或服务层,避免 sql 注入并过滤敏感字段,小规模项目可用 pdo 或 mysqli,框架项目可使用 orm 如 eloquent。
开发一个 RESTful API 的核心在于遵循统一的接口设计规范,让前后端之间能高效、清晰地交互。PHP 作为后端语言非常适合用来构建这类接口,结构清晰、部署简单、生态成熟。下面从实际出发,讲几个关键点,帮助你快速上手 PHP 实现 RESTful 接口。
接口路由怎么设计?
RESTful 的一大特点是通过 URL 表达资源,而不是操作。所以 URL 应该是名词复数形式,不带动词,比如 /users 而不是 /getUser。
在 PHP 中,你可以用框架(如 laravel、Lumen)来处理路由,也可以自己写一个简单的路由解析逻辑。重点是根据请求方法(GET、POST、PUT、DELETE)来区分操作类型:
立即学习“PHP免费学习笔记(深入)”;
- GET /users 获取用户列表
- GET /users/123 获取指定 ID 的用户
- POST /users 创建新用户
- PUT /users/123 更新用户信息
- DELETE /users/123 删除用户
建议使用前端控制器模式(Front Controller),把所有请求都指向一个入口文件(如 index.php),再根据路径和方法分发到对应处理函数。
请求参数与响应格式如何统一?
接口设计中,保持请求和响应的一致性非常重要。一般采用 JSON 格式传输数据,避免 xml 等复杂结构。
请求参数方面:
- GET 请求参数可以通过查询字符串传入
- POST/PUT 使用 JSON body 提交数据
响应格式建议统一结构:
{ "code": 200, "message": "成功", "data": {} }
其中:
- code 是状态码(可自定义,不一定完全照搬 http 状态码)
- message 是描述信息,方便调试
- data 是返回的数据体
这样前端无论拿到什么接口结果,都能统一处理,减少错误判断成本。
如何处理身份验证?
大多数接口都需要权限控制。常见的做法是使用 Token 验证,例如 JWT(JSON Web Token)。
流程大概是这样的:
- 用户登录后,服务器生成一个 token 并返回
- 后续请求在 Header 中带上这个 token
- 每次请求前先验证 token 是否有效
PHP 可以使用 firebase/php-jwt 这类库来实现签发和验证。注意 token 有效期和刷新机制也要考虑进去。
如果只是内部系统或者测试环境,可以先用简单的 API Key 来做基础验证,后续再升级为更安全的方式。
数据库操作怎么做才不乱?
数据库访问建议封装成模型或服务层,不要直接在接口处理函数里写 SQL。
举个例子,可以创建一个 UserModel 类,里面包含 getById, create, update, delete 等方法。这样代码结构更清晰,也方便维护和复用。
另外,注意几点:
- 使用预处理语句防止 SQL 注入
- 返回数据时过滤敏感字段(如密码)
- 对外暴露的数据尽量只读,修改走专用接口
如果项目规模不大,可以用 PDO 或 mysqli;如果用框架,一般自带 ORM 工具,比如 Eloquent。
基本上就这些。RESTful 接口开发并不复杂,但要做得规范、易用、安全,需要在细节上下功夫。