Run this pass before passes that need to know more about the relation of your services.
Checks your services for circular references
This pass validates each definition individually only taking the information into account which is contained in the definition itself.
Checks that all references are pointing to a valid service.
Checks the validity of references
This class is used to remove circular dependencies between individual passes.
Inline service definitions where this is possible.
Used to format logging messages during the compilation.
Merges extension configs into the container builder
Compiler Pass Configuration
Removes abstract Definitions
Remove private aliases from the container. They were only used to establish dependencies between services, and these dependencies have been resolved in one of the previous passes.
Removes unused service definitions from the container.
A pass that might be run repeatedly.
Replaces aliases with actual service definitions, effectively removing these aliases.
This replaces all DefinitionDecorator instances with their equivalent fully merged Definition instance.
Emulates the invalid behavior if the reference is not found within the container.
Resolves all parameter placeholders "%somevalue%" to their real values.
Replaces all references to aliases with references to the actual service.
This is a directed graph of your services.
Represents an edge in your service graph.
Represents a node in your service graph.


Interface that must be implemented by compilation passes
Interface that must be implemented by passes that are run as part of an RepeatedPass.