php-http/httplug-pack
Convenience Composer metapackage for HTTPlug that installs the HTTP client abstraction with a PSR-7 implementation and message factories, giving PHP apps a quick, interoperable setup for sending HTTP requests.
composer.json. So the decision this informs is "do we adopt the abstraction?", not "do we adopt this package?" A PM should not spend a buy/build cycle here; a tech lead should spend 30 minutes.Illuminate\Http\Client over Guzzle and does not consume Flex recipes. Its value as a signal is negative: it tells you the team is maintaining a Symfony footprint that needs separate dependency governance.php-http/mock-client: it lets you assert on outbound HTTP calls without network access. That is a plausible line item in a quality/CI initiative ("HTTP boundary is mockable") — but it is an argument for the abstraction, not for this recipe.composer require; a team standardizing on HTTPlug-era middleware.Consider it when all of these hold:
mock-client-based testing of the HTTP boundary out of the box.Look elsewhere when any of these hold:
Http:: / Guzzle directly; Flex recipes are inert. Adopting this adds a dependency for zero runtime effect.psr/http-client) and/or symfony/http-client, which have native auto-discovery and active maintenance. HTTPlug's interfaces are the predecessor, not the destination.composer.json is invisible in the lockfile — the transitive pins become yours to audit and upgrade.To executives (one paragraph): This is a low-cost, low-risk convenience package, not a strategic bet — it is a one-command installer for an HTTP-client abstraction in Symfony applications. It costs essentially nothing to adopt and nothing to skip. Because it has had no release since 2019 and no downstream dependents, I do not recommend adding it to any active product; where a Symfony service already relies on it, we should keep it running but schedule a move to the industry-standard PSR-18 interface during the next maintenance window. No budget, headcount, or roadmap change is implied.
To engineering (the substance): It is a Symfony Flex "pack" — a virtual package whose only job is to pull httplug, the message factories, and a client adapter, and let Flex wire them. It buys you a swappable HTTP boundary and a mock client for tests; it costs you an unpinned, unmaintained transitive layer and a pre-PSR-18 interface. Recommendation: don't add it; replicate it. Put the three explicit requirements in composer.json, pin them, and target PSR-18 for anything new. If a service is already on HTTPlug, that is fine — treat it as a known legacy surface and migrate when the client adapter next needs touching. Track it in the dependency register as "unmaintained, no action required, no new adoption."
How can I help you explore Laravel packages today?