gouh / laminas-handlers
laminas/diactoros 的 JsonResponse 实现,具有结构化数据和数据传输对象类。
1.0.1
2021-05-20 20:06 UTC
Requires
- php: ^7.3
- fig/http-message-util: ^1.1
- laminas/laminas-diactoros: ^2.3.0
- lukasoppermann/http-status: ^3.1
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!'
]