Download the PHP package tarasovich/symfony-yaml-merge-loader without Composer
On this page you can find all versions of the php package tarasovich/symfony-yaml-merge-loader. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tarasovich/symfony-yaml-merge-loader
More information about tarasovich/symfony-yaml-merge-loader
Files in tarasovich/symfony-yaml-merge-loader
Package symfony-yaml-merge-loader
Short Description Possibility to merge imports in services.yaml
License MIT
Informations about the package symfony-yaml-merge-loader
Symfony YAML merge loader
This is extension of Symfony\Component\DependencyInjection\Loader\YamlFileLoader adding possibility to merge imports in services.yaml:
Complication
From Official symfony docs:
When loading a configuration file, Symfony loads first the imported files and then it processes the parameters and services defined in the file. If you use the default services.yaml configuration, the App\ definition creates services for classes found in ../src/*. If your imported file defines services for those classes too, they will be overridden.
A possible solution for this is to add the classes and/or directories of the imported files in the exclude option of the App\ definition. Another solution is to not use imports and add the service definitions in the same file, but after the App\ definition to override it.“
With this extension you don't need to exclude
imported services from App\
definition.
Installation
Get the extension using composer
Add YamlFileMergeLoader by running this command from the terminal at the root of your Symfony project:
Replace default loader
Organize imports files
Move some services and/or parameters definitions into other file, eg:
Import resource to your services.yaml with merge: true
option.
That was it!
Now your App\Service\HelloWordService
will be not overridden with the App\
definition from config/services.yaml
.
All versions of symfony-yaml-merge-loader with dependencies
symfony/config Version ^5.0 || ^6.0
symfony/dependency-injection Version ^5.0 || ^6.0