gouh/laminas-handlers

laminas/diactoros 的 JsonResponse 实现,具有结构化数据和数据传输对象类。

1.0.1 2021-05-20 20:06 UTC

This package is auto-updated.

Last update: 2024-09-21 07:12:06 UTC


README

laminas/diactoros 的 JsonResponse 实现,具有结构化数据和数据传输对象类。

构建工具

用法

您可以使用 JsonResponse 类来生成 ResponseInterface

use StructuredHandlers\JsonResponse;

然后您可以使用如下方式,默认生成响应状态码 200

return new JsonResponse(
        $responseData,
        'This is a cool message'
);

或者在更具体的情况下,可能像这样

return new JsonResponse(
        $responseData, // Data to client
        'This is a bad message', // Personalized message
        500, // Http status code
        true, // is error
        $arrayHeaders // Array of headers
);

您可以使用 DataTransferObject 类来扩展您的 DTO

class MyDtoRequest extends DataTransferObject {
    public $className;
    public $version;
    public $property;
}

要构造类的对象,可以使用数组,归功于 DataTransferObject 类中使用的反射

$myDtoArray = [
    'className' => 'Example',
    'version' => 1.0,
    'property' => 'hi!' 
];

$myDto = new MyDtoRequest($myDtoArray);

您可以根据单个值构建数组,也可以从整个类中排除某些值

$myDto->only('className')->toArray();

仅获取 class_name,如果没有指定 toArray 函数的 false 参数,则名称以蛇形命名法获取

[
    'class_name' => 'Example'
]

您可以使用 except 函数从类中排除一个属性

$myDto->except('className')->toArray();

生成

[
    'class_name' => 'Example',
    'property' => 'hi!'
]