@magary4

Как загрузить Yaml конфигурацию в верхний уровень. Типа как делает комманда imports?

хочу чтоб мой бандл при подключении перезаписывал конфигурации некоторых сторонних бандлов

BundleExtension.php

public function load( array $config, ContainerBuilder $container ) {

        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $config);

        $container->setParameter("basebundle", $config);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.yml');
    }
    
    public function prepend( ContainerBuilder $container ) {    
        
        $configFile = __DIR__ . '/../Resources/config/views.yml';
        $conf = Yaml::parse( file_get_contents( $configFile ) );
        $container->prependExtensionConfig( 'basebundle', $conf );
        $container->addResource( new FileResource( $configFile ) );


мне нужно подгрузить тут файл в котором будет нечто

framework:
    serializer:
        enabled: true
        enable_annotations: true

white_october_breadcrumbs:
    separator: '%'
    separatorClass: 'separator'
    listId: 'wo-breadcrumbs'
    listClass: 'breadcrumb'


1я секция должна модифицировать конфигурацию framework определенную в главном app/config/config.yml а вторая просто добавить
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
@gog69
class ixBaseExtension extends Extension implements PrependExtensionInterface
{
 public function prepend( ContainerBuilder $container ) {
     $container->prependExtensionConfig('assetic', ['bundles' => ['YourBundle']]);
}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@shaqster
Symfony3 Guru
Смотрите в сторону Compiller Pass. Переопределять конфиги сторонних компонентов прямо в кернеле... как-то не очень.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы