Zend_Service_Rest
est un client REST de base pour effectuer des requêtes sur n'importe quel service Web basé sur REST.
Exemple 13.1. Une requête REST de base
Dans le code suivant, la méthode setUri()
définit l'URI de base pour le service Web REST.
Ensuite la méthode restGet()
est appelé pour effectuer une requête GET sur un chemin donné, avec une chaîne de requête optionnelle.
<?php require_once 'Zend/Service/Rest.php; try { $rest = new Zend_Service_Rest(); $rest->setURI('http://exemple.org'); // Retourne un objet Zend_Http_Response $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat'); if ($response->isSuccessful()) { echo $response->getBody(); } else { echo '<p>Une erreur est survenue</p>'; } } catch (Zend_Exception $e) { echo '<p>Une erreur est survenue (' .$e->getMessage(). ')<p>'; } ?>
Note | |
---|---|
Vous pouvez passez une chaîne de requête correctement formatté (sans le premier point d'interrogation "? ") à restGet() ,
ou vous pouvez passer un tableau associatif de paires clés/valeurs. Peut importe la méthode que vous choisissez, les noms et les valeurs
doivent être encodé en utilisant la fonction urlencode() .
|
L'utilisation de restPost()
et restPut()
est identique à restGet()
, sauf que les données sont envoyée respectivement via HTTP POST ou PUT
au lieu de GET.
La méthode restDelete()
fonctionne sur un chemin, mais n'a pas de second paramètre dans lequel on pourrait passer des données.