Как пробросить конфигурацию из конфига одного бандла в другой?

В Symfony есть несколько способов пробросить конфигурацию из одного бандла в другой. Вот несколько из них:

1. **Использование параметров** - Один из простых способов проброса конфигурации из одного бандла в другой - это использование параметров. Для этого вам нужно определить параметры в конфигурационном файле вашего первого бандла, и уже в другом бандле вы можете пробросить эти параметры в свой конфигурационный файл.

В файле config.yml вашего первого бандла вы можете определить параметр:

   parameters:
       my_bundle.my_config_value: 'some_value'

А затем вы можете использовать этот параметр в конфигурационном файле вашего второго бандла:

   some_bundle:
       my_option: '%my_bundle.my_config_value%'

Таким образом, значение параметра my_bundle.my_config_value будет использовано в конфигурации вашего второго бандла.

2. **Использование сервисного контейнера** - Если вам нужно прокинуть более сложную конфигурацию, то вы можете использовать сервисный контейнер. Вы можете определить сервис в первом бандле, который будет содержать вашу конфигурацию, а затем использовать этот сервис во втором бандле.

В файле services.yml вашего первого бандла вы можете определить сервис:

   services:
       my_bundle.config:
           class: MyBundleConfig
           arguments:
               - 'some_value'

А затем вы можете использовать этот сервис в конфигурационном файле вашего второго бандла:

   some_bundle:
       my_option: '@my_bundle.config'

Теперь вы можете получить доступ к вашей конфигурации через сервис $myOption = $container->get('my_bundle.config')->getOption();.

3. **Использование событий** - Если ваши бандлы относятся к разным компонентам или слоям приложения и вы хотите сделать их более независимыми, то вы можете использовать события для передачи данных между ними. В первом бандле вы можете вызвать событие, передав нужную конфигурацию, а затем во втором бандле вы можете подписаться на это событие и получить переданную конфигурацию.

В первом бандле вы можете вызвать событие:

   // Ваш код
   $event = new MyEvent($config);
   $eventDispatcher->dispatch('my_bundle.config', $event);
   // Ваш код

А затем во втором бандле вы можете подписаться на это событие:

   // Ваш код
   $eventDispatcher->addListener('my_bundle.config', function (MyEvent $event) {
       $config = $event->getConfig();
       // Ваш код
   });
   // Ваш код

Таким образом, вы можете передать конфигурацию из первого бандла во второй.

В зависимости от ваших нужд и структуры вашего приложения, вы можете выбрать подходящий способ для проброса конфигурации из одного бандла в другой. Выбор способа будет зависеть от сложности конфигурации, требуемого уровня независимости и структуры вашего приложения.