didix16 / php-apidataobject
这是一个简单的库,允许轻松处理来自任何来源(尤其是来自API来源)的数据,并以更实用的方式将数据组织起来,使其类似于数组或对象,便于访问。它允许快速实现DTO。
v1.0.3
2021-09-23 10:47 UTC
Requires
- php: >= 7.2
README
这是一个简单的库,允许轻松处理来自任何来源(尤其是来自API来源)的数据,并以更实用的方式将数据组织起来,使其类似于数组或对象,便于访问。它允许快速实现DTO。
内容
什么是ApiDataObject
它只是一个类,可以处理来自API来源的JSON格式或其他格式的数据,并在内存中对其进行结构化,以便像关联数组或普通对象一样轻松处理。
要将数据传递给此类,首先它应该是一个简单的PHP关联数组或纯PHP标准对象。
它可以通过使用JSON字符串文本创建。
安装
composer require didix16/php-apidataobject
使用
class ApiPlatformDataObject extends ApiDataObject {} ... class AWebHookProcessor { /** * @var array|object */ $data; public function process() { $apiData = new ApiPlatformDataObject($this->data); /** * data = * [ * 'property1' => 'value1', * 'property2' => 'value2', * 'property3' => 'value3', * 'property4' => 'value4', * ... * ] */ /** * Different accessors */ $apiData['property1']; $apiData->property1; $apiData->property1(); /** * Different setters */ $apiData['property1'] = 'value5'; $apiData->property1 = 'value5'; // chainable setter properties $apiData ->property1('value5') ->property2('value6') ... } public function processJson(string $json) { $apiData = ApiPlatformDataObject::fromJson($json); /** * Different accessors */ $apiData['property1']; $apiData->property1; $apiData->property1(); /** * Different setters */ $apiData['property1'] = 'value5'; $apiData->property1 = 'value5'; // chainable setter properties $apiData ->property1('value5') ->property2('value6') ... } }
另请参阅
- php-apidatamapper - 一个DTO库,允许使用简单的字段映射语言将传入的API数据映射到您的任何实体/模型。