Phinject
Phinject is a simple dependency injection container, with extensible activation & injection strategies.
Setup
Composer is the only supported way of installing Phinject. From the root of your project, run the following command:
composer require aztech/phinject
Features
- Compatible with the container-interop specification
- Compatible with delegate containers.
- YAML, JSON or PHP based configuration.
- Lazy-loading dependencies.
- Remote proxies (undocumented).
- Aliases (undocumented).
- Extensible configuration syntax (undocumented).
Usage
The documentation is available here.
We have a getting started guide, followed by more comprehensive documentation (although not yet exhaustive, but that will come):
- Injection types
- References
- Activators
- Lifecycle of objects
- Remote objects (TODO: Write documentation)
- Extending the configuration syntax (TODO: Write documentation)
- Container interoperability (TODO: Write documentation).
Note All the documentation examples are written using a YAML based configuration, however, you can also use JSON or PHP configuration files. (TODO: Document usage of PHP & JSON config file)
Credits
This library is originally a fork on oliviermadre/dic-it
, available here.
Most of the core features have however been refactored or rewritten, enough that I felt it was time to re-brand this package, in order to both prevent confusion with the original package, and because I did not like the name.