config/packages, все как положено. в результате чтения конфигурации нужно создать массив объектов и передать его в конструктор сервиса. но, я так понял, что элементы массива могут быть только скалярными, т.к. при запуске ошибка "Unable to dump a service container if a parameter is an object or a resource". Это логично, симфони должен скомпилировать контейнер. Вот тут у меня понимание заканчивается, нужно как то сделать фабрику что ли, чтобы из скалярного конфига собрать объекты и передать в контруктор? Но как тогда в фабрике получить этот конфиг?
Зарегистрировать service definition в DI extension / установить DI parameter и использовать в DI config с фабрикой
у меня сейчас вот так в extension. а что значит зарегистрировать? это же у меня не регистрация? $definition = $container->getDefinition(ServiceClass::class); $definition->setArgument('$routes', $routes);
Смотри методы container builder
если я правильно понял проблему, то аргументам можно передавать с помощью service(ServiceClass::class)
Обсуждают сегодня