Изменить часть Symfony Configuration TreeBuilder - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть родительская спецификация конфигурации

GenericDatabaseAdapterConfiguration implements ConfigurationInterface

Имеются некоторые значения по умолчанию - хост, пользователь и пароль.Тогда есть дети, которые имеют свои конкретные параметры конфигурации.

MySQLDatabaseAdapterConfiguration extends GenericDatabaseAdapterConfiguration

У него есть опция charset, а у MSSQLDatabaseAdapterConfiguration нет.

Что было бы хорошим способом изменить существующий TreeBuilder, который возвращается из GenericDatabaseAdapterConfiguration::getConfigTreeBuilder().В идеале я хотел бы что-то вроде parent::getConfigTreeBuilder()->appendTo('parameters', $mssqlCustomSettingsNode);, но этого не существует.

До сих пор я создавал точки расширения внутри класса Generic.$this->append($this->getSshTunnelConnectionParametersNode()) вызывается внутри дерева, а пустой метод getSshTunnelConnectionParametersNode находится внутри универсального класса, который может быть переопределен в дочерних элементах.Но это не идеально, так как мне нужно предвидеть каждую возможную точку расширения в классе Generic.

Есть ли лучший способ?

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