teknoo/curl-request
A lightweight PHP wrapper around cURL for building and sending HTTP requests. It offers a simple object-oriented API for handling URLs, headers, methods, and responses, making it easy to integrate clean cURL-based calls into any PHP project.
Illuminate\Support\Facades\Http (a thin, testable wrapper over Guzzle), so this package's differentiator is moot. The decision this surfaces is not "should we adopt it" but "which HTTP client is our house standard, and what's our policy on third-party wrappers around it."zeroem/curl-bundle lineage this was forked from, that is a roadmap item — migrate it to Laravel's HTTP client with a proper fake/mock story in tests. The archived status converts "nice to have" into "scheduled work, with a fork-or-replace decision date."Consider it only in narrow, unusual conditions:
symfony/http-client, and you need a minimal cURL wrapper — and even then, you would be adopting archived code.Look elsewhere — and by "elsewhere" the default answer is Laravel's Http facade — in essentially every other case:
guzzlehttp/guzzle for full control over cURL options, middleware, pooling, and retries, still actively maintained and PSR-18 compatible.symfony/http-client if you want a maintained, dependency-light alternative with good concurrency.Http::fake() and the Laravel HTTP client's test helpers if the hidden motivation was testability — that's solved.Also relevant: 0 dependents and 1 star mean there is effectively no ecosystem validation, no issue-tracker triage history to learn from, and no one to escalate to. If a team insists on this package, the correct response is a fork with an assigned owner — not a Composer requirement.
To executives: We evaluated a lightweight cURL wrapper for our PHP services. It is explicitly deprecated, archived by its author, has no downstream users, and receives no security updates — so adopting it would create maintenance liability with no offsetting capability. We are recommending against adoption and standardizing on Laravel's built-in HTTP client instead, which gives us the same control with active upstream support, a mocking story for tests, and zero additional dependencies. Net effect: no added risk, no added vendor, and one fewer thing to patch.
To engineering: This is a non-starter as a dependency — archived, 1 star, 0 dependents, no security patching, untested against current PHP and Laravel versions. It existed to offer a framework-free cURL wrapper, which was a fair goal in its era but is now covered natively: use the Http facade for application code, drop to Guzzle when you need raw cURL options, and use Http::fake() in tests. If someone has a concrete case the native client can't handle, bring the case, not the library. Any existing code descended from this lineage should be ticketed for migration off it — that's the actual deliverable this evaluation produced.
How can I help you explore Laravel packages today?