simonisme/array-to-dto
Composer 安装命令:
composer require simonisme/array-to-dto
包简介
README 文档
README
This is simple library to convert array to specified value object classes.
Example
Simple object
class EmailAddress { public $email; public function __construct(string $email) { $this->email = $email; } } $arrayToDtoParse = new ArrayToDtoParser(); $result = $arrayToDtoParse->parseToDto(EmailAddress::class, [ 'address@domain.com'; ]); // $result variable contains correct EmailAddress object echo $result->email; // address@domain.com
Nested object
class User { public $emailAddress; public $number; public $birthDate; public function __construct(EmailAddress $emailAddress, string $name, \DateTime $birthDate) { $this->emailAddress = $emailAddress; $this->number = $name; $this->birthDate = $birthDate; } } class Nested { public $user; public $emailAddress; public function __construct(User $user, EmailAddress $emailAddress) { $this->user = $user; $this->emailAddress = $emailAddress; } } class EmailAddress { public $email; public function __construct(string $email) { $this->email = $email; } } class Dto { public $user; public $nested; public function __construct(User $user, Nested $nested) { $this->user = $user; $this->nested = $nested; } } $arrayToDtoParse = new ArrayToDtoParser(); $result = $arrayToDtoParse->parseToDto(Dto::class, [ 'user' => [ 'emailAddress' => 'address@domain.com', 'name' => 'Simon', 'birthDate' => '1991-01-02', ], 'nested' => [ 'user' => [ 'emailAddress' => 'address2@domain.com', 'name' => 'Simon', 'birthDate' => '1991-01-02', ], 'emailAddress' => 'address3@domain.com' ] ]);
For more examples please look into /tests directory.
Important
Keys in the array and constructor's parameters have to have the same names!
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-09-03