[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Lucas Carlos Lacerda
Criador Lucas Carlos Lacerda 07/01/2024

Boa noite, Professor, 

Me surgiu uma dúvida, hoje aplico da seguinte forma crio a interface e implemento ela em um repositorie e depois pego esse repositorie e injeto no construtor do service.

Exemplo:

interface ClientRepositoryInterface
{}

class ClientRepository implements ClientRepositoryInterface
{}

class ClientService
{

public $clientRepository;

public function __construct(ClientRepository $clientRepository)
{
$this->clientRepository = $clientRepository;
}
}


Mas no caso da aula você inclui a interface no service, qual a diferença entre usar a forma do video e essa do exemplo acima? e qual seria a mais indicada para se usar?

 

 

Manager Carlos Ferreira 07/01/2024

Olá, Lucas!

Tudo bem?

 

Primeiro ponto é que não existe o jeito certo para todos os casos, cada caso deve ter um tipo de abordagem.

 

Em muitos projetos, basta injetar o model mesmo diretamente no controller, e tudo certo, já vai atender.

 

Em projetos maiores é super recomendado trabalhar com as camadas service + repository e etc.

 

No caso da interface para repository é super válido, desde que desacople o ORM, digo, a ideia de usar a interface é justamente a liberdade de poder de trocar de ORM ou nem mesmo usar um.

Fui claro amigo?

Carlos Ferreira
Criador Lucas Carlos Lacerda 07/01/2024

Foi sim, obrigado!

Lucas Carlos Lacerda
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!