Executando verificação de segurança...
-1
Carregando publicação patrocinada...
0
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