e-moe / guzzle6-bundle
将 Guzzle 6 集成到您的 Symfony 应用程序中
v1.3.0
2021-01-07 14:36 UTC
Requires
- php: >=7.2.5
- guzzlehttp/guzzle: ^6.0
- symfony/framework-bundle: ^5.0
- symfony/stopwatch: ^5.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpmd/phpmd: ^2.3
- phpunit/phpunit: ^5.1
- sebastian/phpcpd: ^3.0
- squizlabs/php_codesniffer: ^3.3
- symfony/monolog-bundle: ^2.7
Suggests
- symfony/monolog-bundle: Log requests
README
此捆绑包将 Guzzle 6.x 集成到 Symfony 中。Guzzle 是一个用于构建 RESTful Web 服务客户端的 PHP 框架。
要求
- PHP 5.6 或更高版本
- Symfony 2.7 或更高版本(包括 Symfony 3.x, 4.x, 5.x)
安装
要安装此捆绑包,请运行以下命令,您将通过 Packagist 获取最新版本。
composer require e-moe/guzzle6-bundle
要使用最新版本(可能是不稳定的),请将以下内容添加到您的 composer.json 中
{ "require": { "e-moe/guzzle6-bundle": "dev-master" } }
用法
在 AppKernel.php 中加载捆绑包(如果您使用 Symfony Flex,则应自动完成)
new Emoe\GuzzleBundle\EmoeGuzzleBundle(),
在 config.yml 中进行配置(可选)
emoe_guzzle: log: enabled: true # Logging requests to Monolog format: 'Guzzle: [{ts}] "{method} {uri} HTTP/{version}" {code}' # Optional log format customization
有关更多关于日志格式语法的信息,请参阅 此处。
在控制器中使用 Guzzle
$client = $this->get('guzzle.client'); $response = $client->get('http://example.com');
在自己的服务中使用 Guzzle
application.my_service: class: App\Service\MyService arguments: - "@guzzle.client"
或者您可以直接使用 autowire 功能和 GuzzleHttp\ClientInterface
类型提示。
特性
Symfony 调试分析器
Symfony 调试时间线
Symfony 调试工具栏
Symfony 调试日志(Monolog 集成)
建议
添加别名:如果您想为提供的服务使用不同的名称,您可以使用别名。如果您不想在服务名称中包含任何对 guzzle 的依赖,这是一个好主意。
services: http.client: alias: guzzle.client
创建多个客户端:如果您想在应用程序中拥有不同的 Guzzle 客户端,您只需要在服务文件中定义它们,并将 "guzzle.client" 标签添加到服务中以启用 Symfony 集成(调试工具栏、日志等)。
services: guzzle.client_one: class: GuzzleHttp\Client tags: - { name: guzzle.client } guzzle.client_two: class: GuzzleHttp\Client tags: - { name: guzzle.client }
作者
- Nikolay Labinskiy(又名 e-moe)
灵感来自 Chris Wilkinson 和 Florian Preusner 的 GuzzleBundles(《1》,《2》)。
请参阅参与此项目的贡献者列表。
许可
此捆绑包根据MIT 许可证发布。