I like the way how Christophe Coenraets describes the Swiz Framework below:
At his core,
Swiz is a simple inversion of control framework (IoC). Using an IoC framework, the components of your application (for example, Views) don't
instantiate or even
look up their
dependencies (the objects they work with). The framework
injects those
dependencies when the
components are created (hence the term "Dependency Injection" also used to describe this approach). The result is
looser coupling and more reusable components. The components managed by the
Swiz IoC framework are called
beans.
Swiz uses the
[Autowire] custom metadata to inject
beans into
other beans and views.