Lightweight library that discovers available PSR implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.
This is a meta-package that includes all of the PSR Discovery utility suite. This package bundles discovery support for PSR-18 HTTP Clients, PSR-17 HTTP Factories, PSR-14 Event Dispatchers, PSR-11 Containers, PSR-6 Caches and PSR-3 Logs. When additional PSRs are added to the suite, they will be added to this package as well.
This suite is largely intended for inclusion in libraries like SDKs that wish to support PSRs without requiring hard dependencies on specific implementations or demanding extra configuration by users.
- PHP 8.2+
- Composer 2.0+
Successful discovery requires the presence of a compatible implementation in the host application. This library does not install any implementations for you.
composer require psr-discovery/all
Usage instructions for each discovery library can be found at the links below:
- PSR-18 HTTP Clients
- PSR-17 HTTP Factories
- PSR-14 Event Dispatchers
- PSR-11 Containers
- PSR-6 Caches
- PSR-3 Logs
Contributions are welcome! Please create issues and pull requests on the repository for the specific discovery library you're interested in.
As a meta-package, this repository is not intended to accept contributions.
This library is not produced or endorsed by, or otherwise affiliated with, the PHP-FIG.