Я использую 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