A serializable dependency injection container for PHP with constructor/setter injection, interface awareness, and configuration inheritance.
Aura.Di is a dependency injection container system for PHP that provides constructor and setter injection, interface and trait awareness, and configuration inheritance. It solves the problem of managing object dependencies in PHP applications while maintaining serialization capabilities and PSR-11 compliance.
PHP developers building medium to large applications who need a flexible, standards-compliant dependency injection container with advanced features like serialization and configuration inheritance.
Developers choose Aura.Di for its comprehensive feature set including serializable containers, interface/trait awareness, and PSR-11 compliance while maintaining flexibility without external implementation dependencies.
Dependency Injection System
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables full serialization and unserialization of the container for persistence or caching, explicitly highlighted in the key features for performance optimization.
Resolves dependencies based on abstractions like interfaces and traits, not just concrete classes, providing flexibility in dependency management.
Supports hierarchical configuration where values can be inherited and overridden, useful for managing complex dependency setups across environments.
Implements the ContainerInterface standard, ensuring interoperability with other PSR-11 containers and frameworks for seamless integration.
Lacks built-in auto-wiring or annotation support, requiring explicit setup for each service, which can be time-consuming in large applications compared to more automated alternatives.
Migration documentation for versions 2.x, 3.x, and 4.x indicates significant changes, potentially causing upgrade efforts and compatibility issues for existing codebases.
While PSR-11 compliant, it has fewer community extensions or tight integrations compared to popular DI containers like Symfony's, limiting out-of-the-box functionality.