Comme le titre le laisse supposer ;-), REST_Client est un package PHP compatible PEAR qui fournit quelques classes pour interroger un serveur REST.
C'est un client HTTP, et quand on parle client HTTP en PHP, on pense directement au module cURL.
Et bien cet ensemble de classe PHP propose une interface objet orientée REST pour cURL. Cela ne constitue pas l'intérêt principal de ce package. Mais en attendant de découvrir la "killer feature" dans un prochain billet, voyons comme utiliser la classe REST_Client.
Démonstration
<?php require_once "REST/Client.php'; $rs = new REST_Client('rest.server.com', 8080); // GET Method $o = $rs->get('/path/to/get') // check network error if ($o->isError()) die($o->error); // check http response code if ($o->code == 404) die('Oups, where is my page ?'); // display the content of the page echo $o->content; // DELETE Method $o = $rs->delete('/path/to/delete'); // POST Method $data = http_build_query(array('key' => 'value')); $o = $rs->post('/path/to/post', $data) // PUT Method $data = '<xml>some data</xml>'; $o = $rs->put('/path/to/put', $data); // Retrieve & print HTTP headers echo $o->headers['x-powered-by']; echo $o->headers['location']; ?>
Téléchargement et code source
Le code source est disponible sur GitHub : http://github.com/touv/rest_client
Ou, on peut directement l'installer avec PEAR en s'abonnant au Channel Respear :
% pear channel-discover pear.respear.net % pear install respear/REST_Client
Il ne manque pas un morceau de code dans la démonstration ?
RépondreSupprimeroui biensur, merci pour la remarque.
RépondreSupprimerJ'avais oublié de passer l'exemple au convertisseur de caractères spéciaux - http://www.stanleyshilov.com/online-tools/convert-special-characters-into-html-entities/