Skip to content

SimonIsMe/array-to-dto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

14 Commits

Repository files navigation

json-to-dto

This is simple library to convert array to specified value object classes.

Example

Simple object

class EmailAddress{public$email; publicfunction__construct(string$email){$this->email = $email} } $arrayToDtoParse = newArrayToDtoParser(); $result = $arrayToDtoParse->parseToDto(EmailAddress::class, [ '[email protected]'; ]); // $result variable contains correct EmailAddress objectecho$result->email; // [email protected]

Nested object

class User{public$emailAddress; public$number; public$birthDate; publicfunction__construct(EmailAddress$emailAddress, string$name, \DateTime$birthDate){$this->emailAddress = $emailAddress; $this->number = $name; $this->birthDate = $birthDate} } class Nested{public$user; public$emailAddress; publicfunction__construct(User$user, EmailAddress$emailAddress){$this->user = $user; $this->emailAddress = $emailAddress} } class EmailAddress{public$email; publicfunction__construct(string$email){$this->email = $email} } class Dto{public$user; public$nested; publicfunction__construct(User$user, Nested$nested){$this->user = $user; $this->nested = $nested} } $arrayToDtoParse = newArrayToDtoParser(); $result = $arrayToDtoParse->parseToDto(Dto::class, [ 'user' => [ 'emailAddress' => '[email protected]', 'name' => 'Simon', 'birthDate' => '1991-01-02', ], 'nested' => [ 'user' => [ 'emailAddress' => '[email protected]', 'name' => 'Simon', 'birthDate' => '1991-01-02', ], 'emailAddress' => '[email protected]' ] ]);

For more examples please look into /tests directory.

Important

Keys in the array and constructor's parameters have to have the same names!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages