13.2. Zend_Service_Rest
Précédent | Chapitre 13. Zend_Service | Suivant

## 13.2. Zend_Service_Rest

### 13.2.1. Introduction

`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.

Précédent | Niveau supérieur | Suivant
Chapitre 13. Zend_Service | Sommaire | 13.3. Zend_Service_Amazon