所以我又有一个问题。
我需要访问我创建或下载了包的几个API(SOAP,REST)。好吧,每个API都以自己的方式返回我需要的数据,因此我想为每个API创建一个类,使用相同的方法输出数据,我确切地需要它。所以我认为创建一个接口是正确的,因为每个类都应该有相同的方法。
现在的问题是:
假设我在界面中有一个名为 getAllMovies()的方法。现在,我想将此方法称为 getAllMovies($ APItoUse)或 getAllMovies()。没有参数,我想从所有可用的API中获取电影。
最好的方法是什么?我应该创建类似于知道我使用的所有API的类,然后在我需要的每个API中调用该方法,将输出合并在一起并返回它吗?
我认为有几种方法可以做到这一点,但我问,因为我想以正确的方式做到这一点。
提前谢谢!
答案 0 :(得分:0)
您可以使用api的名称构建一个数组并迭代它。一旦进入bucle,你就可以执行一个case case,并根据你所在的api,例如一个类或另一个类的对象。然后只需调用您需要的方法。
$apis = array('api1','api2',...);
$allMovies = array();
foreach($apis as $api){
switch($api){
case 'api1': $obj = new API1Class; break;
case 'api2': $obj = new API2Class; break;
...
}
array_push($allMovies,$obj->getAllMovies());
}