---
title: "Comment by Junior Neves on \"Princípios SOLID: o que são e como aplicá-los no PHP/Laravel (Parte 05 - Inversão de Dependência)\" | Hashnode"
description: "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 &quot;"
url: "https://hashnode.com/posts/principios-solid-o-que-sao-e-como-aplica-los-no-phplaravel-parte-05-inversao-de-dependencia/60e6f8ba4e18000309d80c68/comment/61426ef79c949972b85c790f"
---

[Discussion](https://hashnode.com/posts/principios-solid-o-que-sao-e-como-aplica-los-no-phplaravel-parte-05-inversao-de-dependencia/60e6f8ba4e18000309d80c68)

Comment [Princípios SOLID: o que são e como aplicá-los no PHP/Laravel (Parte 05 - Inversão de Dependência)](https://hashnode.com/posts/principios-solid-o-que-sao-e-como-aplica-los-no-phplaravel-parte-05-inversao-de-dependencia/60e6f8ba4e18000309d80c68)

[Junior Neves](https://hashnode.com/@juniorneves)

[Sep 15, 2021](https://hashnode.com/posts/principios-solid-o-que-sao-e-como-aplica-los-no-phplaravel-parte-05-inversao-de-dependencia/60e6f8ba4e18000309d80c68/comment/61426ef79c949972b85c790f)

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,
        );
```

[Lucas Cavalcante](https://hashnode.com/@lucascavalcante)

[Sep 16, 2021](https://hashnode.com/posts/principios-solid-o-que-sao-e-como-aplica-los-no-phplaravel-parte-05-inversao-de-dependencia/60e6f8ba4e18000309d80c68/comment/61426ef79c949972b85c790f#reply-614353ccdbe60379639b0259)

Muito bom, Junior!

Exatamente, para criar interfaces que irão servir como abstrações na injeção da dependência, precisamos criar um Provider para fazer o bind, e depois adicionar esse provider no `config/app.php` (Laravel) ou `bootstrap/app.php` (Lúmen).
