15.2. Zend_Service_Rest
上一页 | 第 15 章 Zend_Service | 下一页

## 15.2. Zend_Service_Rest

### 15.2.1. Introduction

`Zend_Service_Rest` 是一个的REST客户端，他用来对基于REST的web service进行查询 .

例 15.1. 一个基本的 REST 请求

在下面的代码中，首先使用 `setUri()` 方法设置REST web service的 base 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>';
    }
    ?>

| 注意
你可以传递一个格式标准的url查询参数(没有 "`?`") 到 `restGet()`, 或者你可以传递一个包含名称->数值的关联数组给它. 无论你执行的是那个方法, 你都要对名称和数值进行URL编码(比如用 `urlencode()`).

`restPost()` 和 `restPut()` 的用法和 `restGet()`相同, 只不过数据传输的方式不同 ，通过 HTTP POST 或 PUT来代替GET.

`restDelete()` 方法用来操作一个路径, 但它不包含第二个参数来传递查询参数和数据.

上一页 | 上一级 | 下一页
第 15 章 Zend_Service | 起始页 | 15.3. Zend_Service_Amazon