Symfony: наследовать конфигурацию - PullRequest
0 голосов
/ 21 марта 2019

У меня есть ParentBundle, который имеет некоторую конфигурацию.
И у меня есть ChildBundle, который будет наследоваться от ParentBundle с помощью функции getParent().
ChildBundle также имеет дополнительную конфигурацию.
как мне наследовать конфигурацию от ParentBundle и добавить ее в ChildBundle, поэтому в файле config.yml я могу сделать следующее:

child_bundle:
   parent_config: ~
   child_config: ~
   another_child_config: ~

Потому что теперь я получаю исключение, которое говорит:

Unrecognized option "parent_config" under "child_bundle"

Это Configuration.php класс ParentBundle, который выглядит следующим образом:

class Configuration implements ConfigurationInterface
{
    /**
     * {@inheritdoc}
     */
    public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('parent_bundle');

        $rootNode
            ->children()
                ->scalarNode('parent_config')->end()
            ->end()
        ;

        return $treeBuilder;
    }
}

А для ChildBundle у меня есть это:

class Configuration implements ConfigurationInterface
{
    /**
     * {@inheritdoc}
     */
    public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('child_bundle');

        $rootNode
            ->children()
                ->scalarNode('child_config')->end()
                ->scalarNode('another_child_config')->end()
            ->end()
        ;

        return $treeBuilder;
    }
}

и в классе ChildBundle.php я сделал это для выполнения наследования:

class ChildBundle extends Bundle
{
    function getParent()
    {
        return 'ParentBundle';
    }
}

Как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...