Adapters for PHP framework containers to a common PSR-11 ContainerInterface, enabling interoperability between different dependency injection systems.
Acclimate Container is a PHP library that provides adapters to normalize various framework dependency injection containers and service locators to a common PSR-11 ContainerInterface. It solves the problem of container interoperability by allowing libraries and applications to work with any third-party container implementation through a standardized interface, eliminating framework lock-in.
PHP developers building framework-agnostic libraries, applications that need to integrate multiple frameworks, or anyone needing to work with different dependency injection containers through a unified interface.
Developers choose Acclimate Container because it provides pre-built adapters for all major PHP containers, follows PSR standards for maximum compatibility, and eliminates the need to write custom abstraction layers for each container implementation they encounter.
Adapters for PHP framework containers to an interoperable interface
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes ready-to-use adapters for popular PHP containers like Laravel, Symfony, Pimple, and ZF2, eliminating the need to write custom abstraction layers for each.
Adheres to the PSR-11 ContainerInterface, ensuring interoperability and reducing framework lock-in across the PHP ecosystem.
Provides decorators like NullOnMissContainer and CallbackOnMissContainer to customize how missing entries are handled, beyond the standard exception-throwing behavior.
Allows chaining multiple containers into a single interface via CompositeContainer, useful for applications integrating services from different frameworks.
Only exposes the PSR-11 get() and has() methods, missing advanced features like service configuration or dependency injection found in native containers.
Support for some containers like Guzzle Service Builder is deprecated and will be removed in v2.0, potentially breaking existing integrations.
Installing with dev dependencies pulls in numerous framework packages for testing, which can complicate setup and increase project size unnecessarily.