Princípios SOLID: o que são e como aplicá-los no PHP/Laravel (Parte 05 - Inversão de Dependência)
Dando continuidade à série de artigos sobre princípios SOLID, trago hoje o quinto e último dos princípios.
Dependency Inversion Principle
(Princípio da Inversão de Dependência)
Entidades devem depender de abstrações e não de algo concreto. Isso sign...
Junior Neves
PHP
Muito legal Lucas! Até atualizei os controllers dos meus projetos aqui pra chamar a interface do service.
Uma dica pra caso alguém esteja caindo no erro "Target [App\Services\UserServiceInterface] is not instantiable while building [App\Http\Controllers\UserController]" é que precisa criar um Service Provider e bindar a interface com a classe. O mesmo serve pra InterfaceRepository com o Repository.
Fica mais ou menos algo assim:
$this->app->bind( UserServiceInterface::class, UserService::class, );