在 ThinkPHP 6 中,返回数据封装通常是为了统一接口响应格式,方便前端处理。常见的做法是将数据封装成一个标准的结构,比如包含状态码、消息和数据。下面是一个简单的例子,展示如何在 ThinkPHP 6 中封装返回数据:
<?php
namespace app\controller;
use think\facade\Request;
class ApiController
{
/**
* 成功响应
*
* @param mixed $data 返回的数据
* @param string $message 提示信息
* @param int $code 状态码
* @return \think\Response
*/
protected function success($data = [], $message = '操作成功', $code = 200)
{
return json([
'code' => $code,
'message' => $message,
'data' => $data
]);
}
/**
* 错误响应
*
* @param string $message 错误信息
* @param int $code 状态码
* @return \think\Response
*/
protected function error($message = '操作失败', $code = 400)
{
return json([
'code' => $code,
'message' => $message,
'data' => null
]);
}
/**
* 示例接口
*/
public function example()
{
// 模拟一些业务逻辑
$data = ['id' => 1, 'name' => 'ThinkPHP'];
// 返回成功响应
return $this->success($data);
// 如果需要返回错误,可以使用
// return $this->error('出错了', 500);
}
}
说明
-
success
方法:用于返回成功响应。接受三个参数:$data
:要返回的数据,默认为空数组。$message
:提示信息,默认为“操作成功”。$code
:HTTP 状态码,默认为 200。
-
error
方法:用于返回错误响应。接受两个参数:$message
:错误信息,默认为“操作失败”。$code
:HTTP 状态码,默认为 400。
-
example
方法:这是一个示例接口,展示如何使用success
方法返回数据。
使用场景
- 统一响应格式:通过封装,确保所有接口返回的数据格式一致,便于前端解析。
- 错误处理:通过
error
方法,可以方便地返回错误信息。 - 代码复用:将响应逻辑封装在基类中,子类可以直接调用,减少重复代码。
你可以根据需要扩展这些方法,比如添加更多的状态码、日志记录、异常处理等。