In Symfony2 config.yml you can add an โimportโ, for example:
imports: - { resource: services.yml }
Inside my services.yml I have:
imports: security_bundle: resource: @AcmeSecurityBundle/Resources/config/services.yml
However, an alternative way to declare services for a package is to use the DependencyInjection Extension , which eliminates the need to import something into config.yml manually, thus untying the code.
namespace Acme\Bundle\SecurityBundle\DependencyInjection; use Symfony\Component\HttpKernel\DependencyInjection\Extension; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; use Symfony\Component\Config\FileLocator; class AcmeSecurityExtension extends Extension { public function load(array $configs, ContainerBuilder $container) { $loader = new YamlFileLoader( $container, new FileLocator(__DIR__ . '/../Resources/config') ); $loader->load('services.yml'); } }
Question This is great for service declarations, but, for example, you want the package to configure another package, for example, add LiipImagineBundle filters (it is like AvalancheImagineBundle ):
liip_imagine: filter_sets: security_avatar_thumbnail: quality: 75 filters: thumbnail: { size: [140, 140], mode: inset }
Symfony then complains that
There is no extension that can load the configuration for "liip_imagine"
Does anyone know if there is a way to add configuration for a third-party package from another package without touching config.yml ?
Kasheen
source share