I have a parent configuration specification
GenericDatabaseAdapterConfiguration implements ConfigurationInterface
It has some default values - host, user and password. Then there are children that have their specific configuration options.
MySQLDatabaseAdapterConfiguration extends GenericDatabaseAdapterConfiguration
It has charset
option, that MSSQLDatabaseAdapterConfiguration
does not have.
What would be a good way to alter the existing TreeBuilder
that is returned from GenericDatabaseAdapterConfiguration::getConfigTreeBuilder()
. Ideally I would like something like parent::getConfigTreeBuilder()->appendTo('parameters', $mssqlCustomSettingsNode);
, but that does not exist.
So far I created extension points inside the Generic class. $this->append($this->getSshTunnelConnectionParametersNode())
is called inside the tree and empty method getSshTunnelConnectionParametersNode
is inside the generic class that can be overridden in children. But that is not ideal as I need to anticipate every possible point of extension in the Generic class.
Is there a better way?