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()` メソッドで REST ウェブサービスのベース URI を設定します。それから、 メソッドにパスとクエリ文字列を指定して `restGet()` をコールし、GET リクエストを実行します。

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

    try {
        $rest = new Zend_Service_Rest();

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

        // Zend_Http_Response オブジェクトを返します
        $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');

        if ($response->isSuccessful()) {
            echo $response->getBody();
        } else {
            echo '<p>エラーが発生しました</p>';
        }
    } catch (Zend_Exception $e) {
            echo '<p>エラーが発生しました (' .$e->getMessage(). ')<p>';
    }
    ?>

| 注意
`restGet()` にクエリ文字列を渡すには、 適切にフォーマットした文字列 (先頭の疑問符 "`?`" は含めません) を渡す方法か、あるいはパラメータ名と値を連想配列形式で渡す方法があります。 どちらを使用するにしても、パラメータ名および値は URL エンコードしなければなりません (例えば `urlencode()` を使用します)。

`restPost()` および `restPut()` の使用法は `restGet()` と同じです。違うのは、GET の代わりにそれぞれ HTTP POST あるいは PUT を使用することです。

`restDelete()` メソッドは、 最初のパラメータで指定したパスを操作します。 2 番目のパラメータを渡して対象を指定することはできません。

前のページ | 上に戻る | 次のページ
第16章 Zend_Service | ホーム | 16.3. Zend_Service_Amazon