[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Hugo Ferreira Chiesse
Criador Hugo Ferreira Chiesse 04/10/2022

 Carlos, boa tarde.

Desculpa a pergunta, poderia me explicar o porquê de criar esse configuração do PAGINATE? O método default do laravel já não nos atende? Não consegui entender a criação da interface Presenter

Manager Carlos Ferreira 04/10/2022

Olá, Hugo!
Tudo bem?

Sim, o método default do Laravel super atende.

--

O que acontece, quando fazemos isso: NomeDoModel::paginate(); (ou usamos os métodos get ou all), isso retorna uma COLLECTION, que é um tipo específico do Laravel.

Neste contexto, se a gente sempre lidar com collection, estamos preso ao padrão de retorno do ORM. E se um dia precisar mudar o ORM, para por exemplo o Doctrine? Precisaria reescrever vários trechos de código para trabalhar com o formato do novo ORM.

O grande ponto aqui é a inversão de dependência, e não depender de um formato do ORM.

Fluxo:
Eloquent -> Presenter -> Usamos os dados
Doctrine -> Presenter -> Usamos os dados

Usamos os dados, em um controller, em uma view, em um resource, não importa.

Pegou a ideia amigo?

Carlos Ferreira
Criador Hugo Ferreira Chiesse 04/10/2022

Carlos,  bom dia.

 

Compreendi a ideia. Muito obrigado pelo esclarecimento.

 

Hugo Ferreira Chiesse
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!