A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more.
This package is installable and PSR-4 autoloadable via Composer as aura/di.
Alternatively, download a release, or clone this repository, then map the
Aura\Di\
namespace to the package src/
directory.
This package requires PHP 5.5 or later; it has been tested on PHP 5.6, PHP 7, and HHVM. We recommend using the latest available version of PHP as a matter of principle.
Aura library packages may sometimes depend on external interfaces, but never on external implementations. This allows compliance with community standards without compromising flexibility. For specifics, please examine the package composer.json file.
To run the unit tests at the command line, issue composer install
and then
phpunit
at the package root. This requires Composer to be available as
composer
, and PHPUnit to be available as phpunit
.
This package attempts to comply with PSR-1, PSR-2, and PSR-4. If you notice compliance oversights, please send a patch via pull request.
To ask questions, provide feedback, or otherwise communicate with other Aura users, please join our Google Group, follow @auraphp, or chat with us on Freenode in the #auraphp channel.
This package is fully documented here.
Aura.Di 2.x users may wish to read the migrating documentation.