eightpoints/guzzle-bundle
EightPoints GuzzleBundle integrates Guzzle 6.x/7.x with Symfony, letting you configure HTTP clients in YAML, register services, and add plugins such as retry, logging, and caching. It supports Symfony 5–8 and PHP 7.2+, with a Flex recipe and event hooks.
Architecture fit
eight_points_guzzle.client.<name>), per-client options, lazy service registration, a plugin/middleware registry, pre/post-transaction Symfony events, and profiler/logging integration.Illuminate\Http\Client / Http:: facades; adopting this bundle would mean adopting Symfony's kernel and container. Treat it as a Symfony-ecosystem-only candidate.Integration feasibility
composer require, a Symfony Flex recipe auto-registers the bundle and creates the config file, and the remaining work is YAML. No application code changes are strictly required to get a client.GuzzleHttp\Client instances, so you can drop to raw Guzzle at any time, and clients can be aliased to neutral service names (crm.client) to reduce lock-in.Technical risk
Key questions to resolve before adoption
GuzzleHttp\ClientInterface and alias services.)Stack fit
Migration path
new Client([...]) sites and inline cURL calls; each becomes a named client block in config/packages/eight_points_guzzle.yaml.ClientInterface, not the concrete class.Compatibility
composer why guzzlehttp/guzzle before adopting; another dependency may already constrain the version.Sequencing
Maintenance
Support
Scaling
lazy: true on clients that are not needed on every request to keep container boot cost flat as client count grows.timeout and connect_timeout per client; the default is unbounded and is the most common source of thread/worker starvation.Failure modes to design against
base_url or dropped header fails at runtime, not at container build. Add a smoke test per client against a sandbox endpoint.logging to %kernel.debug% explicitly.pre_transaction listener mutating headers will affect every client; prefer client-specific events.Ramp-up
How can I help you explore Laravel packages today?