HTTPlug is an HTTP client abstraction for PHP. Using this library you can decouple your code from the specifics of the HTTP implementation in your client of choice, and can also easily switch between different clients, like cURL, Guzzle, and so on.
HTTPlug also supports pluggable functionality, so you can expand or shrink as needed by your application. Some examples of plugins include request / response logging and authentication.