CrawlerInterface
実装PageCrawler
とのインターフェースがあるとしFeedCrawler
ます; コントローラーで両方のクラスが必要になった場合、コンストラクター インジェクションを使用してそれをどのように実現できますか?
以前は、このようなクラスServiceProvider
を登録 (つまりApp::bind
) するためにセントラルを使用していましたが、ほとんどの場合、インターフェイスの実装は 1 つしかないため、この問題はまだ発生していません。
PS: この問題は、コントローラーを分割する必要があることを示しているのでしょうか。
アップデート:
コメントと応答をありがとう、説明するために、インターフェイスにはパブリックメソッドが1つしかなくcrawl($uri)
、ページ/フィードクローラーの両方がそれを次のように実装していますgiven a resource identifier, return resource.
私のフォローアップの質問:
calculator
足し算、引き算、掛け算が同じインターフェイスを共有し、Operation
パブリック メソッドが 1 つしかないシナリオにいるとします。あるrun
時点で、まだこの問題に遭遇するでしょうか? 一般に、このような状況を でどのように処理しServiceProvider
ますか?