我正在使用Slim Framework和PHP-DI爲我自動導入依賴關係。但是一個依賴只是一個常規數組。如果我將一個常規數組放入我的容器配置中,則所有數組都將被設置爲該數組。所以我的主要問題是:將一個常規變量添加到自動連線功能
如何注入只有一個變量,而讓容器自動連線剩下的?這可能嗎?我發現自己寫這樣的路線:
$app->get('/userConfig', function (
Request $request,
Response $response,
Preferences $prefs,
UserConfig $userconfig)
{
$myArray = ['Thing1','thing2','thing3'];
return $userconfig->configView($request, $response, $myArray, $prefs);
});
而我其他的途徑是短這樣的,因爲他們只對不同類別的依賴關係:
$app->get('/testPage', ['\Test','myTestPage']);
我寫的所有多餘的東西只是爲了將$myArray
壓入configView函數,有沒有辦法將常規的依賴注入與自動裝配結合起來?任何框架或圖書館是否都這樣做?
我剛纔寫它像這樣,如果我沒有需要一個數組:
$app->get('/userConfig', ['\UserConfig','configView']);
或者,我可以伸入容器,並獲得陣列,但是這將讓頁面功能取決於容器,這是應該避免的。
我已經添加到容器的值。但我不想從課堂內部調用容器,我想注入它們,注入容器並調用它會打敗DI的目的,並且座右銘:「告訴,別問。」。 – adjenks