Skip to content

DTO ​

v1.1.0

Os Data Transfer Objects (DTOs) permitem transportar dados validados de forma limpa pela aplicação.

Em vez de passar Request diretamente para Services, os domínios gerados utilizam DTOs tipados.


Por que usar DTO? ​

  • Separação da camada HTTP
  • Tipagem forte
  • Services mais limpos
  • Facilidade para testes

DTO Gerado ​

php
class UserDTO extends AbstractDTO
{
    public function __construct(
        public readonly string $nome,
        public readonly string $email,
        public readonly bool $ativo
    ) {}
}

Criando a partir do Request ​

php
$dto = UserDTO::fromRequest($request);

Os dados validados são preenchidos automaticamente.


Enviando ao Service ​

php
$this->service->create($dto);

Convertendo para Array ​

php
$dto->toArray();

Resultado:

php
[
    'nome' => 'João',
    'email' => 'joao@email.com',
    'ativo' => true
]

Os Services gerados recebem DTOs, nunca Requests diretamente.

Released under the MIT License.