2 cents: comecem engatinhando...
Faz essa transformação ali no metodo/classe que vc precisa usar, caso precise reutilizar a mesma lógica em outros lugares, ai começa a abstrair.
2 cents: comecem engatinhando...
Faz essa transformação ali no metodo/classe que vc precisa usar, caso precise reutilizar a mesma lógica em outros lugares, ai começa a abstrair.
A questão aqui não é apenas transformação de dados, mas desacoplamento das camandas de dóminio e persistência.
Voce pode realizar essa transformacoes na classe especifica e manter o desacoplamento entre seu dominio e infra.
Faz o mapeamento para/de dominio dentro do repositorio por exemplo.
Mesma coisa com um controller da vida.
A abstração do data mapper em si não é necessaria a primeiro momento na maioria dos casos.
Consegue enviar um trecho de código de exemplo?
class FooRepository
{
public function find(int $id): Foo
{
$row = yourDbQueryThatReturnGenericRow();
// map to domain model here
$foo = new Foo(
$row->id,
$row->something,
$row->anotherSomething
);
return $foo;
}
}
Não precisa abstrair essa lógica em uma nova classe sem motivos, se só vai usar ela ai, usa ela ai