php-http / discovery
查找并安装PSR-7, PSR-17, PSR-18和HTTPlug的实现
Requires
- php: ^7.1 || ^8.0
- composer-plugin-api: ^1.0|^2.0
Requires (Dev)
- composer/composer: ^1.0.2|^2.0
- graham-campbell/phpspec-skip-example-extension: ^5.0
- php-http/httplug: ^1.0 || ^2.0
- php-http/message-factory: ^1.0
- phpspec/phpspec: ^5.1 || ^6.1 || ^7.3
- sebastian/comparator: ^3.0.5 || ^4.0.8
- symfony/phpunit-bridge: ^6.4.4 || ^7.0.1
Provides
Conflicts
- 1.x-dev
- 1.19.4
- 1.19.3
- 1.19.2
- 1.19.1
- 1.19.0
- 1.18.1
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.3
- 1.15.2
- 1.15.1
- 1.15.0
- 1.14.3
- 1.14.2
- 1.14.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.1
- 1.9.0
- 1.8.0
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.1
- 1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
- v0.9.1
- v0.9.0
- v0.8.0
- v0.7.0
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.0
- 0.2.0
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2024-09-04 09:56:10 UTC
README
此库提供了自动发现和自动安装知名PSR-17、PSR-18和HTTPlug实现的工具。
安装
通过Composer
composer require php-http/discovery
作为库作者的用法
请参阅官方文档。
如果你的库/SDK需要PSR-18客户端,这里有一个快速示例。
首先,你需要安装一个PSR-18客户端和一个PSR-17工厂实现。这应该只针对开发依赖进行,因为你不想强迫用户使用特定的实现
composer require --dev symfony/http-client composer require --dev nyholm/psr7
然后,你可以禁用php-http/discovery
中嵌入的Composer插件,因为你刚刚安装了所需的开发依赖以进行测试
composer config allow-plugins.php-http/discovery false
最后,你需要引入php-http/discovery
以及你的库将需要的通用实现
composer require 'php-http/discovery:^1.17' composer require 'psr/http-client-implementation:*' composer require 'psr/http-factory-implementation:*'
现在,你已经准备好发起HTTP请求了
use Http\Discovery\Psr18Client; $client = new Psr18Client(); $request = $client->createRequest('GET', 'https://example.com'); $response = $client->sendRequest($request);
内部,此代码将使用用户已安装的任何PSR-7、PSR-17和PSR-18实现。
作为库用户的用法
如果你使用了一个需要php-http/discovery
的库/SDK,你可以配置自动发现机制,当项目中有多个实现时,使用特定的实现。
例如,如果你在你的项目中同时有nyholm/psr7
和guzzlehttp/guzzle
,你可以通过运行以下命令告诉php-http/discovery
使用guzzlehttp/guzzle
而不是nyholm/psr7
composer config extra.discovery.psr/http-factory-implementation GuzzleHttp\\Psr7\\HttpFactory
这将更新你的composer.json
文件以添加以下配置
{ "extra": { "discovery": { "psr/http-factory-implementation": "GuzzleHttp\\Psr7\\HttpFactory" } } }
别忘了运行composer install
以应用更改,并确保启用Composer插件
composer config allow-plugins.php-http/discovery true
composer install
测试
composer test
贡献
请参阅我们的贡献指南。
安全
如果你发现任何安全相关的问题,请通过[email protected]联系我们。
许可
MIT许可证(MIT)。请参阅许可文件获取更多信息。