これに利点があるかどうかはわかりません。未使用のサービスをサービス コンテナーから削除する必要がありますか?
たとえば、私のバンドル構成では、lang
オプション プロバイダーの使用を無効にすることができます。
my_bundle:
providers:
lang:
enabled: false
lang
プロバイダーが有効になっている場合は、provider
タグを追加する必要があります。このサービスはservices.xml
ファイルで定義され、拡張子を介してロードされます。
<service id="my_bundle.provider.lang" class="My\Provider\LangOptionsProvider">
では、この定義を削除するのは良い考えであり、その理由は何ですか?
public function load(array $configs, ContainerBuilder $container)
{
// ...
$loader->load('services.xml'); // Loads "my_bundle.provider.lang"
if($config['providers']['lang']['enabled']) {
// lang provider is enabled, add the tag
$container->getDefinition('my_bundle.provider.lang')->addTag('provider');
}
else { // Is this really needed?
// Remove lang provider definition (or just the tag?!)
$container->removeDefinition('my_bundle.provider.lang');
}
}