我和Laravel一起建立了一些统计服务。我抓取了一些网站,并从那里为我的应用程序获取统计数据。例如,我从YouTube和Twitter获得订户计数。
public function getYouTubeStats() {}
public function getTwitterStats() {}
public function getFacebookStats() {}
...所以现在我有一个控制器,有20或30个功能,每个爬虫都需要自己的功能,因为很明显,每个外部站点都是不同的。但我不认为这么大的控制器对未来的发展是有益的。所以我的问题是我怎么组织这个?
我可以为每一个爬行者做一个自己的控制器。但我无法从我的主爬行控制器中得到其他控制器的功能。例如,我需要来自getStats控制器中的YouTubeController的函数MainCrawler ()。我不认为有什么简单的方法可以做到这一点?
或者我应该为每一个服务做一个新的模型?
$youtube = new YouTubeStat::getStats();
$twitter = new TwitterStat::getStats();发布于 2017-07-02 14:31:54
我有一个类似的项目,我已经为每个社交网络创建了一个控制器。
然后在你的MainCrawler上你可以说$stats = (new YouTubeController)->getStats();
如果您在社交网络控制器中具有类似的功能,则应该使用性状。
https://stackoverflow.com/questions/44871223
复制相似问题