2017-07-02 3 views
0

私はLaravelで小さな統計サービスを構築します。私はいくつかのサイトをクロールし、そこから私のアプリケーション用の統計情報を取得します。たとえば、私はYouTubeとTwitterから加入者数を取得します。多くのクローラ機能を編成する方法は?

public function getYouTubeStats() {} 
public function getTwitterStats() {} 
public function getFacebookStats() {} 
... 

だから今、私は明らかに、すべての外部のサイトが異なるため、すべてのクローラが彼自身の機能を必要とする20か30の機能を持つコントローラが1つ。しかし、私はそのような大型コントローラーが将来の発展には良いとは思わない。だから私の質問は、私はこれをどのように整理できますか?

すべてのクローラに対して独自のコントローラを作成できます。しかし、私はメインのクロールコントローラ内の他のコントローラから機能を取得することはできません。たとえば、私は、のgetStats()から、MainCrawlerコントローラーののYouTubeControllerから関数が必要です。私はこれを行う簡単な方法はないと思いますか?

サービスごとに新しいモデルを作成する必要がありますか?

$youtube = new YouTubeStat::getStats(); 
$twitter = new TwitterStat::getStats(); 

答えて

0

私は同様のプロジェクトを持ち、各ソーシャルネットワーク用のコントローラを作成しました。

は、その後、あなたのMainCrawlerにあなたは $stats = (new YouTubeController)->getStats();

を言うことができるし、あなたのソーシャル・ネットワーク・コントローラで同様の機能を持っている場合、あなたはTraitを使用する必要があります。

+0

ええ、ええ、1つのコントローラーがサービスごとに良い解決策だと思います。アドバイスありがとうございます。 –

関連する問題