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, но не имет
второго параметра, в котором передаются данные.