Aura.Di

Dependency Injection System

349
63
PHP

Aura.Di

A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more.

Installation and Autoloading

This package is installable and PSR-4 autoloadable via Composer as
aura/di:

composer require aura/di

Alternatively, download a release, or clone this repository, then map the
Aura\Di\ namespace to the package src/ directory.

Dependencies

This package requires PHP 8.0 or later. We recommend using the latest available version of PHP as a matter of
principle. If you are interested in using this package for older PHP versions, use version 4.x for PHP 7.2+ or version 3.x for PHP 5.5+.

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.

Quality

Latest Version
GitHub Workflow Status

To run the unit tests at the command line, issue composer install and then
composer test at the package root. This requires Composer to be available as
composer.

This package attempts to comply with PSR-1, PSR-2, PSR-4 and PSR-11. If
you notice compliance oversights, please send a patch via pull request.

Community

To ask questions, provide feedback, or otherwise communicate with other Aura
users, please join our Google Group.

Documentation

This package is fully documented here.

Aura.Di 2.x, 3.x and 4.x users may wish to read the migrating documentation.