github编辑

输出格式

创建Serialize类

use Astral\Serialize\Serialize;
use DateTime;

class UserLoginLog extends Serialize {
    public string $remark,
    public DateTime $create_time;
}

class User extends Serialize {
    public string $name,
    public int $age,
    public UserLoginLog $login_log
}

// 创建对象
$user = User::from([
    'name' => '张三',
    'age' => 30
], login_log: new UserLoginLog(remark:'测试数据',create_time: DateTime::createFromFormat('Y-m-d','2008-09-01')));

输出对象

输出数组

输出数组json字符串

  1. Serialize 默认实现了 JsonSerializable 类似LaravelController 可以直接返回对象,框架会正常输出json信息

  2. Serialize 默认json 增加 data code message 如果需要[替换/修改/增加] 请查看配置信息 响应数据结构定义

输出json信息

  • 可以使用 api toJsonString

  • 也可以直接使用 json_decode

设置输出code/message

设置自定义json外层

withResponses 可以临时增加修改自定义返回信息,全局增加返回信息可以在 响应数据结构定义中配置

输出不包含外层信息的Json

使用withoutResponseToJsonString 可以返回只有对象属性的json数据

最后更新于