16.2. Zend_Service_Rest
Пред. | Глава 16. Zend_Service | След.

## 16.2. Zend_Service_Rest

### 16.2.1. Введение

`Zend_Service_Rest` является базовым клиентом REST для выполнения запросов к любым веб-сервисам, основанным на REST.

Пример 16.1. Основной запрос REST

В нижеследующем коде метод `setUri()` устанавливает базовый URI к веб-сервису. Затем вызывается метод `restGet()` для выполнения запроса GET, ему передаются путь и строка запроса (необязательный параметр).

    <?php
    require_once 'Zend/Service/Rest.php;

    try {
        $rest = new Zend_Service_Rest();

        $rest->setURI('http://example.org');

        // Возвращает объект Zend_HttpClient_Response
        $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');

        if ($response->isSuccessful()) {
            echo $response->getBody();
        } else {
            echo '<p>An error occurred</p>';
        }
    } catch (Zend_Exception $e) {
            echo '<p>An error occurred (' .$e->getMessage(). ')<p>';
    }
    ?>

| Замечание
Вы можете передавать правильно сформированную строку запроса (без знака вопроса "`?`" в начале) методу `restGet()`, либо передавать ассоциативный массив из пар имя-значение. Независимо от того, какой способ был выбран, имена и значения должны быть закодированы для URL (например, с помощью `urlencode()`).

Методы `restPost()` и `restPut()` используются так же, как и метод `restGet()`, за тем отличием, что данные в них отправляются через HTTP-методы POST и PUT соответственно.

Метод `restDelete()` работает с путем в URL, но не имет второго параметра, в котором передаются данные.

Пред. | Уровень выше | След.
Глава 16. Zend_Service | Начало | 16.3. Zend_Service_Amazon