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
Guzzle Bundle

Guzzle Bundle Laravel Package

misd/guzzle-bundle

Symfony2 bundle integrating Guzzle 3 for easy HTTP requests and reusable web service clients. Optional integration with JMSSerializerBundle for object (de)serialization plus a SensioFrameworkExtraBundle param converter for streamlined controllers.

View on GitHub
Deep Wiki
Context7

[NOT MAINTAINED] Integrates Guzzle into your Symfony2 application

Frequently asked questions about Guzzle Bundle
Can I use this bundle in Laravel instead of Symfony 2.x?
No, this bundle is specifically designed for Symfony 2.x and won’t work directly in Laravel. Laravel has its own ecosystem (e.g., HTTP clients via Guzzle 7.x or Laravel’s built-in HTTP facade) that doesn’t align with Symfony’s bundle architecture. You’d need to manually adapt Guzzle 3.x or migrate to Guzzle 7.x for Laravel compatibility.
What Laravel alternatives exist for reusable HTTP clients with serialization?
For Laravel, consider packages like `guzzlehttp/guzzle` (standalone) or `spatie/laravel-http-client` for reusable clients. For serialization, use Laravel’s built-in JSON responses or packages like `spatie/laravel-array-to-xml` or `spatie/laravel-data`. These avoid Symfony dependencies entirely and support modern PHP and Laravel versions.
Is Guzzle 3.x still secure for production use in 2024?
No, Guzzle 3.x is deprecated and lacks security patches for modern threats. It also doesn’t support PHP 8.x. For production, use Guzzle 7.x (latest) or Laravel’s HTTP client, which are actively maintained. This bundle introduces technical debt due to its outdated Guzzle version.
How do I configure Guzzle clients in this bundle for Symfony 2.x?
Configure clients via Symfony’s `config.yml` under `guzzle_bundle`. Define named clients with base URIs, headers, and middleware. Example: `guzzle_bundle: clients: api: base_uri: 'https://api.example.com' timeout: 30.0`. The bundle then injects these clients as services for dependency injection.
Does this bundle support Laravel’s service providers or container?
No, this bundle is tied to Symfony’s Dependency Injection (DI) container. Laravel uses its own service container (PSR-11 compliant), so you’d need to rewrite the bundle’s DI configurations or manually register Guzzle clients. For Laravel, use Guzzle’s standalone service provider or Laravel’s HTTP facade instead.
Can I integrate JMSSerializerBundle’s features in Laravel?
No, JMSSerializerBundle is Symfony-specific. For Laravel, use Laravel’s built-in JSON responses or packages like `spatie/laravel-array-to-xml` for XML serialization. Alternatively, use Symfony’s Serializer component standalone (via `symfony/serializer`), but it’s overkill for most Laravel apps.
How do I test HTTP clients created with this bundle?
Use Symfony’s `HttpClient` or mock Guzzle’s `ClientInterface` in tests. For Symfony 2.x, leverage the `HWIOAuthBundle` or `liip/functionaltestbundle` for functional tests. In Laravel, use PHPUnit’s mocking or packages like `mockery/mockery` to test Guzzle clients independently of the bundle.
Will this bundle work with PHP 8.x or Symfony 5/6?
No, this bundle is incompatible with PHP 8.x and modern Symfony versions due to Guzzle 3.x and Symfony 2.x dependencies. For Symfony 5/6, use Symfony’s `HttpClient` component or upgrade Guzzle to 7.x manually. Laravel apps should avoid this bundle entirely and use native solutions.
Are there performance concerns with Guzzle 3.x in this bundle?
Yes, Guzzle 3.x is outdated and lacks optimizations in Guzzle 7.x (e.g., connection pooling, HTTP/2 support). It may also have compatibility issues with modern PHP versions. For performance-critical apps, migrate to Guzzle 7.x or use Laravel’s HTTP client, which is optimized for modern use cases.
How do I migrate from this bundle to a modern Laravel solution?
Replace the bundle with Guzzle 7.x (via Composer) and manually configure clients in Laravel’s `AppServiceProvider`. Use Laravel’s HTTP facade for simple requests or create reusable clients with dependency injection. Drop JMS Serializer in favor of Laravel’s JSON responses or a lightweight alternative like `spatie/laravel-array-to-xml`.
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.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views