Правильно ли я понимаю, что главная задача сервис провайдера реализовать схему - "один интерфейс, много реализаций"? То есть делаем бинд у которого ключ соответствует какому-то интерфейсу, а вторым параметром передаем сам класс-реализацию.
$this->app->bind('App\Contracts\Article', 'App\Services\ArticleEloquent');
Это и есть основное назначение провайдера?
+ сервис-контейнеры - это грубо говоря просто код с помощью которого мы делам бинд или нет?