我正在使用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