Класс Interface
является просто определением методов (без их тела), следовательно, не является инстанцируемым.Это означает, что вы не можете выполнить new App\Repository\UserInterface()
.
. Где-то в вашем коде у вас есть метод (или, возможно, конструктор?), Который принимает зависимость UserInterface
, что-то вроде
public function myMethod(UserInterface $repository) {
...
}
// or
public function __construct(UserInterface $repository) {
...
}
Если вы удалите привязку, Laravel попытается создать экземпляр UserInterface
, и это приведет к полученной вами ошибке.При работе с интерфейсами у вас всегда есть bind()
их с конкретными классами.
У меня вопрос, почему вы удалили привязку из ServiceProvider?