[DependencyInjection] Add the "container.remove_if_missing" tag
A definition can now say what it needs to survive: a service, a class, or a package together with one of its classes. The container drops it when a condition does not hold, and logs why, before any bundle pass runs. That ordering is what every bundle had to arrange by hand until now, so that the removals happen before the passes that collect what they remove. Thirteen bundles said the same thing in a compiler pass. Three of those passes are gone, and the rest keep only what a tag cannot express: an argument to rewrite, an error to report, a parameter to merge.
N
Nicolas Grekas committed
9e7f4b6dc413fa46df84e978817f43313956e7a1
Parent: 04cc5db