https://github.com/e-moe/guzzle6-bundle
Integrates Guzzle 6 into your Symfony application
https://github.com/e-moe/guzzle6-bundle
bundle guzzle packagist php symfony symfony-bundle
Last synced: 2 months ago
JSON representation
Integrates Guzzle 6 into your Symfony application
- Host: GitHub
- URL: https://github.com/e-moe/guzzle6-bundle
- Owner: e-moe
- License: mit
- Created: 2015-06-14T07:35:03.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2022-06-14T12:33:50.000Z (almost 3 years ago)
- Last Synced: 2024-11-14T16:33:06.153Z (6 months ago)
- Topics: bundle, guzzle, packagist, php, symfony, symfony-bundle
- Language: PHP
- Homepage:
- Size: 1.92 MB
- Stars: 11
- Watchers: 1
- Forks: 11
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Symfony Guzzle6Bundle
[](https://packagist.org/packages/e-moe/guzzle6-bundle)
[](https://packagist.org/packages/e-moe/guzzle6-bundle)
[](https://packagist.org/packages/e-moe/guzzle6-bundle)
[](https://packagist.org/packages/e-moe/guzzle6-bundle)[](https://travis-ci.org/e-moe/guzzle6-bundle)
[](https://coveralls.io/github/e-moe/guzzle6-bundle?branch=master)
[](https://insight.sensiolabs.com/projects/b78325e0-a85f-477a-bd98-13ab1a551742)This bundle integrates [Guzzle 6.x][guzzle] 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][packagist].``` bash
composer require e-moe/guzzle6-bundle
```To use the newest (maybe unstable) version please add following into your composer.json:
``` json
{
"require": {
"e-moe/guzzle6-bundle": "dev-master"
}
}
```## Usage
Load bundle in AppKernel.php (should be done automatically if you are using Symfony Flex):
``` php
new Emoe\GuzzleBundle\EmoeGuzzleBundle(),
```Configuration in config.yml (optional):
``` yaml
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][log-format].Using Guzzle in controllers:
``` php
$client = $this->get('guzzle.client');
$response = $client->get('http://example.com');
```Using Guzzle in your own services:
``` yaml
application.my_service:
class: App\Service\MyService
arguments:
- "@guzzle.client"
```
or you can just use [autowire][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.
``` yaml
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..).
``` yaml
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][misd-guzzle], [2][8p]).See also the list of [contributors][contributors] who participated in this project.
## License
This bundle is released under the [MIT license](LICENSE)
[guzzle]: http://guzzlephp.org/
[packagist]: https://packagist.org/packages/e-moe/guzzle6-bundle
[autowire]: https://symfony.com/doc/current/service_container.html#the-autowire-option
[contributors]: https://github.com/e-moe/guzzle6-bundle/graphs/contributors
[misd-guzzle]: https://github.com/misd-service-development/guzzle-bundle
[8p]: https://github.com/8p/GuzzleBundle
[log-format]: https://github.com/guzzle/guzzle/blob/master/src/MessageFormatter.php#L12