Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Isso funciona mas é boa prática?

Resumi bastante a classe extrator e pra mim ficou melhor a leitura. O que vocês acham?

class ExtratorDadosRequest
{

    public function extraiDados(Request $request): array
    {
        $filtro = $request->query->all();
        $ordenacao = $request->get("sort", ["nome" => "ASC"]);
        $pagina = $request->get("page", 1);
        $quantidade = $request->get("itensPorPagina", 50);
        $offset = ($pagina -1) * $quantidade;
        unset($filtro['sort'], $filtro['page'], $filtro['itensPorPagina']);
        return [$filtro, $ordenacao, $pagina, $quantidade, $offset];
    }

}
3 respostas

NO Controller:

 [$filtro, $ordenacao, $pagina, $quantidade, $offset] = $this->extratorDadosRequest->extraiDados($request);
        $entityList = $this->repository->findBy(
            $filtro,
            $ordenacao,
            $quantidade,
            $offset
        );
        return new JsonResponse($entityList);

Gostei dessa forma de formar uma lista.. me lembrou o python...

solução!

Rafael, achei bem tranquilo de ler. Honestamente não me lembro como estava o código antes da sua alteração, mas pra mim está bom sim.

A única coisa que eu mudaria hoje em dia é criar uma classe que representa dados do request para não usar arrays sem significado, mas aí seria mais preciosismo da minha parte. :-D