I have been involved in a whole bunch of projects, both professionally and personally, which require interacting with third party APIs by calling web service endpoints.
I had to do this a lot, and essentially I found myself cutting and pasting the same bits of code about from project to project. This is obviously bad, so I took the time one morning to wrap up the code into a reusable library, and as a good open source citizen, I stuck it on Github.
The library lets you specify an web service object, and bind it to an endpoint. You can then talk to this object and get various PHP data structures back.
Currently I’ve only written a JSON endpoint object, but it’d be easy enough to define classes to handle other formats.
$json = new \simple_webservice\JSONWebservice('https://example.com/rest/');
$result = $json->get('path/to/query', ['param1' => 'foo', 'param2' => 'bar']);