Phinject

PHP Dependency Injection Library

View project on GitHub

Phinject

Build Status Scrutinizer Code Quality Code Coverage HHVM Support

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):

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.