Print

Print


Guzzle++

-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Kevin S. Clarke
Sent: Tuesday, September 03, 2013 8:37 AM
To: [log in to unmask]
Subject: Re: [CODE4LIB] PHP HTTP Client preference

Another +1 for Guzzle

Kevin



On Tue, Sep 3, 2013 at 11:32 AM, Kevin Reiss <[log in to unmask]> wrote:

> I can second Guzzle. We have been using it for our our in-house PHP 
> applications that require HTTP interactions for about six months and 
> it has worked out very well. Guzzle has also been incorporated as the 
> new default HTTP client in the next version of Drupal.
>
>
> ________________________________
>  From: Ross Singer <[log in to unmask]>
> To: [log in to unmask]
> Sent: Tuesday, September 3, 2013 10:59 AM
> Subject: Re: [CODE4LIB] PHP HTTP Client preference
>
>
> Hey Karen,
>
> We use Guzzle: http://guzzlephp.org/
>
> It's nice, seems to work well for our needs, is available in 
> packagist, and is the HTTP client library in the official AWS SDK 
> libraries (which was a big endorsement, in our view).
>
> We're still in the process of moving all of our clients over to it (we 
> built a homegrown HTTP client on top of CURL first), but have been 
> really impressed with it so far.
>
> -Ross.
>
> On Sep 3, 2013, at 10:49 AM, "Coombs,Karen" <[log in to unmask]> wrote:
>
> > One project I'm working on for OCLC right now is building a set of
> object-oriented client libraries in PHP that will assist developers 
> with interacting with our web services. The first of these libraries 
> we'd like to release provides classes for authentication and 
> authorization to our web services. You can read more about 
> Authentication/Authorization and our web services on the Developer 
> Network site<http://oc.lc/devnet>
> >
> > The purpose of this project is to make a simple and easy to use 
> > object
> oriented library that supports our various authentication methods.
> >
> > This library need to make HTTP requests and I've looked at a number 
> > of
> potential libraries and HTTP clients in PHP.
> >
> > Why am I not just considering using CURL natively?
> >
> > The standard CURL functions in PHP are not object-oriented. All of 
> > our
> code libraries (both our authentication/authorization library and 
> future libraries for interacting with the REST services themselves) 
> need to perform a robust set of HTTP interactions. Using the standard 
> CURL functions would very likely increase the size of the code 
> libraries and the potential for errors and inconsistencies within the 
> code base because of how much we use HTTP.
> >
> > Given this, I believe there are three possible options and would 
> > like to
> get the community's feedback on which option you would prefer.
> >
> > Option 1. - Write my own HTTP Client on top of the standard PHP CURL
> implementation. This means people using the code library can only 
> download it and now worry about any dependencies. However, that means 
> adding extra code to our library which, although essential, isn't at 
> the core of what we're trying to support. My fear is that my client 
> will never be as good as an existing client.
> >
> > Option 2. - Use HTTPful code library (http://phphttpclient.com/). 
> > This
> is a well developed and supported code base which is designed 
> specifically to support REST interactions. It is easy to install via 
> Composer or Phar, or manually. It is slim and trim and only does the HTTP Client functions.
> It does create a dependency on an external (but small) library.
> >
> > Option 3. - Use the Zend 2 HTTPClient. This is a well developed and
> supported code base. The biggest downside is that Zend is a massive 
> code library to require. A developer could choose to download only the 
> specific set of classes that we are dependent on, but asking people to 
> do this may prove confusing to some developers.
> >
> > I'd appreciate your feedback so we can provide the most useful set 
> > of
> libraries to the community.
> >
> > Karen
> >
> > Karen A. Coombs
> > Senior Product Analyst
> > WorldShare Platform
> > [log in to unmask]<mailto:[log in to unmask]>
> > 614-764-4068
> > Skype: librarywebchic
>