在即將成爲web應用程序,我需要中檢索從型動物API(SOAP/REST /自定義...)上傳數據,有時從2,3,或在同一時間的所有API混合的結果。symfony:在一項服務中加載多項服務?
對於每個API,我將執行薩姆斯的行動,例如:getLastDatas,setOneData,putDatas2externalDB等..
在控制器,我喜歡的東西:
$someFreshResults = $this->get('app.products')->getFreshResults($para1, $para2, $arrayOfAPI);
與$ arrayOfAPI列出1,2或全部API名稱。由於所有的API都不同(有時候不是微不足道的),我認爲可以通過API聲明服務,但是在app.products服務中注入所有這些服務非常糟糕和醜陋的想法,他們類似於:
public function getFreshResults($para1, $para2, $API) {
foreach($API as $oneApi) {
oneResult = $this->get($oneAPI)->getLastDatas($para1);
... work with oneResult ...
}
}
在symfony應用程序中這樣做的正確方法是什麼?
你知道你可以用參數聲明在services.yml文件注入服務到另一個與註釋「@myService」? – Mz1907
這不是一個Symfony問題,而是一個適當的設計模式問題,因此也許是基於觀點的。 – Gerry