承接 phpgt/dataobject 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phpgt/dataobject

最新稳定版本:v1.1.0

Composer 安装命令:

composer require phpgt/dataobject

包简介

Structured, type-safe, immutable data transfer.

README 文档

README

A Data Transfer Objects (DTO) in a programming language is a design pattern that facilitates transfer of data between different layers of an application. This library introduces the DataObject class which can be built from an existing associative array or standard object, using the DataObjectBuilder class.

Build status Code quality Code coverage Current version PHP.Gt/DataObject documentation

A DataObject has the following features:

  • It is immutable, meaning that code can't modify the data it represents
  • It provides type-safe getters to the contained data
  • It can be nested within other DataObjects
  • It can be converted to and from associative arrays and standard objects

Usage example

Load an object into a DataObject, then pass to a third party library for processing.

Due to the immutability of the DataObject class, there is no risk of the third party library making changes to the contents of the data.

use Gt\DataObject\DataObjectBuilder;

// Create a new Builder and build the DataObject from an associative array.
// For example, data loaded from another remote data source.
$sourceData = [
	"id" => 105,
	"name" => "Edgar Scolmore",
	"address" => [
		"street" => "32 Trestles Lane",
		"town" => "Lensworth",
		"county" => "Scamperingshire",
		"postcode" => "SC41 8PN"
	],
];
$builder = new DataObjectBuilder();
$data = $builder->fromAssociativeArray($sourceData);

// Pass the data to a third party to process it.
ThirdParty::processData($data);

// Now we can use the data ourselves for whatever purpose:
Database::store(
	id: $data->getInt("id"),
	refname: $data->getString("name"),
);

Working with JSON data

A JSON data structure is almost identical in scope to the DataObject introduced in this repository, with one key difference: JSON data can represent a primitive data type, not always key-value-pairs. Because of this, PHP.Gt/Json is maintained separately to provide structured, type-safe, immutable JSON objects as an extension to this DataObject repository.

统计信息

  • 总下载量: 8.51k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-01-16