e-moe / guzzle6-bundle

将 Guzzle 6 集成到您的 Symfony 应用程序中

安装量: 242,909

依赖关系: 1

建议者: 0

安全性: 0

星标: 11

关注者: 1

分支: 11

开放问题: 5

类型:symfony-bundle

v1.3.0 2021-01-07 14:36 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License

Build Status Coverage Status SensioLabsInsight

此捆绑包将 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 调试分析器

Guzzle Requests

Symfony 调试时间线

Guzzle Timeline Integration

Symfony 调试工具栏

Guzzle Toolbar Integration

Symfony 调试日志(Monolog 集成)

Guzzle Monolog Logs

建议

添加别名:如果您想为提供的服务使用不同的名称,您可以使用别名。如果您不想在服务名称中包含任何对 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 许可证发布。