Скажем, у меня есть интерфейс CrawlerInterface с реализацией PageCrawler и FeedCrawler; если нам понадобятся оба класса в контроллере, как это может быть достигнуто при вводе конструктора?
Раньше мы использовали центральный ServiceProvider для регистрации (то есть App::bind) таких классов, но в большинстве случаев у нас есть только 1 реализация интерфейса, поэтому эта проблема еще не произошла с нами.
PS: Я также задаюсь вопросом, предполагает ли эта проблема разделить контроллер.
Обновление:
Спасибо за комментарии и ответ, чтобы объяснить, что интерфейс имеет только один общедоступный метод: crawl($uri), и оба искателя страницы/фида реализуют его как given a resource identifier, return resource.
Мой следующий вопрос:
Скажем, что мы находимся в сценарии calculator, где добавление, вычитание и умножение имеют один и тот же интерфейс Operation, который имеет только 1 открытый метод run, в какой-то момент мы все равно столкнемся с этой проблемой правильно? Как мы вообще обрабатываем такую ситуацию с помощью ServiceProvider?