This project attempts to define a common standard for service providers, aka "bundles" or "modules" in various frameworks.
Service providers are classes that provide service definitions to a PSR-11 container.
The PSR depends on the PSR-11 Container Interface. Service providers operate on PSR-11 compatible containers.
the project is currently experimental and is being tried in frameworks, containers and modules until considered viable. Until a 1.0.0 release, the code in this repository is not stable. Expect breaking changes between versions such as
0.1.x
and0.2.0
.
👉 Refer to the current PSR draft for the PSR proposal itself.
🧐 Refer to the PSR meta document for the history and reasoning behind this proposal.
💬 Join us to review open issues or participate in ongoing discussions.
- Laravel service provider bridge: Use container-interop's service-providers into any Laravel application.
- Simplex: A Pimple 3 fork with full container-interop compliance and cross-framework service-provider support.
- Service provider bridge bundle: Use container-interop's service-providers into a Symfony container.
- Yaco: A compiler that generates container-interop compliant containers. Yaco can consume service-providers.
- DBAL Module: A module integrating Doctrine DBAL in an application using a service provider.
- Doctrine Annotations Module: A service provider for Doctrine's annotation reader.
- Glide Module: A module integrating Glide in an application using a service provider.
- PSR-6 to Doctrine cache bridge module: A service provider providing a Doctrine cache provider wrapping a PSR-6 cache pool.
- Slim-framework Module: A module integrating Slim framework v3 using a service provider.
- Stash Module: A service provider for the Stash PSR-6 caching library.
- Stratigility Module: A service provider for the Stratigility PSR-7 middleware.
- Twig Module: A service provider for the Twig templating library.
- Whoops PSR-7 Middleware Module: a service provider for the Whoops PSR-7 middleware.