diff --git a/Readme.md b/Readme.md index c5b28f9..0956dd5 100644 --- a/Readme.md +++ b/Readme.md @@ -10,124 +10,12 @@ composer require rinsvent/transformer ``` ## Пример - -### Описания ДТО -```php -class BuyRequest -{ - public string $phrase; - public int $length; - public bool $isFirst; -} - -interface BarInterface -{ - -} - -class Bar implements BarInterface -{ - public float $barField; -} - -#[HelloSchema] -class HelloRequest -{ - #[Trim] - public string $surname; - #[DataPath('fake_age')] - public int $age; - public array $emails; - public array $authors; - public array $authors2; - public array $authors3; - public BuyRequest $buy; - public BarInterface $bar; -} -``` ### Использование ```php -use Rinsvent\Transformer\Transformer; - -$helloRequest = new HelloRequest; -$helloRequest->surname = ' asdf'; -$helloRequest->age = 3; -$helloRequest->emails =[ - 'sfdgsa', - 'af234f', - 'asdf33333' -]; -$author1 = new Author(); -$author1->name = 'Tolkien'; -$author2 = new Author(); -$author2->name = 'Sapkovsky'; -$helloRequest->authors = [ - $author1, - $author2 -]; -$helloRequest->authors2 = [ - [ - "name" => "Tolkien" - ], - [ - "name" => "Sapkovsky" - ] -]; -$helloRequest->authors3 = [ - [ - "name" => "Tolkien" - ], - [ - "name" => "Sapkovsky" - ] -]; -$buy = new BuyRequest(); -$buy->phrase = 'Buy buy!!!'; -$buy->length = 10; -$buy->isFirst = true; -$helloRequest->buy = $buy; -$bar = new Bar(); -$bar->barField = 32; -$helloRequest->bar = $bar; - -$transformer = new Transformer(); -$dto = $transformer->convert($helloRequest); -``` -### Результат -```php -$dto = [ - "surname" => "asdf", - "fake_age" => 3, - "emails" => [ - "sfdgsa", - "af234f", - "asdf33333" - ], - "authors" => [ - [ - "name" => "Tolkien" - ], - [ - "name" => "Sapkovsky" - ] - ], - "authors2" => [ - [ - "name" => "Tolkien" - ], - [ - "name" => "Sapkovsky" - ] - ], - "authors3" => [], - "buy" => [ - "phrase" => "Buy buy!!!", - "length" => 10, - "isFirst" => true - ], - "bar" => [ - "barField" => 32 - ] -] +$t = new Transformer(); +$dt = new \DateTime('2022-04-01'); +$dt->setTime(5, 23, 21); +$actual = $t->transform($dt, new Transformer\DateTimeFormat()); +$this->assertEquals('2022-04-01T05:23:21+00:00', $actual); ```