Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Guzzle6 Bundle Laravel Package

e-moe/guzzle6-bundle

View on GitHub
Deep Wiki
Context7

Symfony Guzzle6Bundle

Latest Stable Version Total Downloads Latest Unstable Version License

Build Status Coverage Status SensioLabsInsight

This bundle integrates Guzzle 6.x into Symfony. Guzzle is a PHP framework for building RESTful web service clients.

Requirements

  • PHP 5.6 or above
  • Symfony 2.7 or above (including Symfony 3.x, 4.x, 5.x)

Installation

To install this bundle, run the command below and you will get the latest version by Packagist.

composer require e-moe/guzzle6-bundle

To use the newest (maybe unstable) version please add following into your composer.json:

{
    "require": {
        "e-moe/guzzle6-bundle": "dev-master"
    }
}

Usage

Load bundle in AppKernel.php (should be done automatically if you are using Symfony Flex):

new Emoe\GuzzleBundle\EmoeGuzzleBundle(),

Configuration in config.yml (optional):

emoe_guzzle:
    log:
        enabled: true # Logging requests to Monolog
        format: 'Guzzle: [{ts}] "{method} {uri} HTTP/{version}" {code}' # Optional log format customization

see more about log format syntax.

Using Guzzle in controllers:

$client   = $this->get('guzzle.client');
$response = $client->get('http://example.com');

Using Guzzle in your own services:

  application.my_service:
    class: App\Service\MyService
    arguments:
      - "@guzzle.client"

or you can just use autowire feature with GuzzleHttp\ClientInterface type hint.

Features

Symfony Debug Profiler

Symfony Debug Timeline

Symfony Debug Toolbar

Symfony Debug Logs (Monolog Integration)

Suggestions

Adding aliases: If you want to use different names for provided services you can use aliases. This is a good idea if you don't want have any dependency to guzzle in your service name.

services:
   http.client:
       alias: guzzle.client

Creating multiple clients: If you want to have different Guzzle clients in your application all you need is to define them in services file and add "guzzle.client" tag to turn on Symfony integration (Debug toolbar, logs, so on..).

services:
    guzzle.client_one:
        class: GuzzleHttp\Client
        tags:
            - { name: guzzle.client }

    guzzle.client_two:
        class: GuzzleHttp\Client
        tags:
            - { name: guzzle.client }

Authors

  • Nikolay Labinskiy aka e-moe

Inspired by Chris Wilkinson's and Florian Preusner's GuzzleBundles (1, 2).

See also the list of contributors who participated in this project.

License

This bundle is released under the MIT license

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware