SIGN IN SIGN UP

[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