Allow custom config files with virtual types only by adding generic schema locator #1410
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Using custom configuration files requires a number of class implementations.
Most of these can be satisfied by using generic implementations found within the
Magento\Framework\Config
namespace and injectable parameters.Magento\Framework\Config\DataInterface
=>Magento\Framework\Config\Data
Magento\Framework\Config\ReaderInterface
=>Magento\Framework\Config\Reader\Filesystem
Magento\Framework\Config\ConverterInterface
=>Magento\Framework\Config\Converter\Dom
The one that is missing is a generic implementation of the schema locator interface
Magento\Framework\Config\SchemaLocatorInterface
The implementation always is very simple, it only returns the names of the schema files. Not a lot of work but just another bit of annoying boilerplate to write.
This PR adds a generic schema locator implementation.
Here is an example di.xml how that might be used:
No custom class implementations are required anymore to use custom configuration files. Of course they still should be used if it makes sense though, mostly for the
DataInterface
to provide readable getters.