Symfony2のconfig.ymlで、次のような「インポート」を追加できます。
imports:
- { resource: services.yml }
私のservices.ymlの中には、次のものがあります。
imports:
security_bundle:
resource: @AcmeSecurityBundle/Resources/config/services.yml
ただし、バンドルのサービスを宣言する別の方法は、を使用しDependencyInjection
Extension
てconfig.ymlに手動で何かをインポートする必要をなくし、コードを分離することです。
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');
}
}
質問
これはサービス宣言には問題なく機能しますが、たとえば、フィルターを追加LiipImagineBundle
するなど、バンドルで別のバンドルを構成する必要があるとします。AvalancheImagineBundle
liip_imagine:
filter_sets:
security_avatar_thumbnail:
quality: 75
filters:
thumbnail: { size: [140, 140], mode: inset }
Symfonyはそれから不平を言う
「liip_imagine」の構成をロードできる拡張機能はありません
では、触れずに別のバンドルからサードパーティバンドルの構成を追加する方法があるかどうか誰かが知っていconfig.yml
ますか?