20.2. Zend_Service_Rest

20.2.1. Wprowadzenie

Zend_Service_Rest jest prostym klientem REST do przeprowadzania zapytań do dowolnego serwisu web opartego na REST.

Przykład 20.1. Proste zapytanie REST

W poniższym kodzie metoda setUri() ustawia bazowy adres URI dla serwisu web REST. Następnie wywoływana jest metoda restGet() w celu przeprowadzenia żądania GET pod podany adres z opcjonalną treścią zapytania.

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

try {
    $rest = new Zend_Service_Rest();

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

    // Zwraca obiekt Zend_Http_Response
    $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');

    if ($response->isSuccessful()) {
        echo $response->getBody();
    } else {
        echo '<p>Wystąpił błąd</p>';
    }
} catch (Zend_Exception $e) {
        echo '<p>Wystąpił błąd (' .$e->getMessage(). ')<p>';
}
?>       
[Notatka] Przekazywanie

Możesz przekazać odpowiednio sformatowaną treść zapytania (bez początkowego znaku zapytania "?") do metody restGet(), lub możesz przekazać tablicę asocjacyjną par nazwa-wartość. Niezależnie od tego, której z nich użyjesz, nazwy i wartości muszą być zakodowane dla URL (np. za pomocą urlencode()).

Użycie metod restPost() oraz restPut() jest identyczne jak użycie metody restGet(), ale dane są wysyłane odpowiednio za pomocą HTTP POST lub PUT, zamiast GET.

Metoda restDelete() operuje także na adresie, ale nie przyjmuje drugiego parametru, w którym są przekazywane dane.