13.2. Zend_Service_Rest

13.2.1. Inleiding

Zend_Service_Rest is een basis REST client om zoekopdrachten te maken voor eender welke REST-gebaseerde web service.

Voorbeeld 13.1. Een basis REST verzoek

In de volgende code zet de setUri() methode de base URI voor de REST web service. Dan wordt de restGet() methode opgeroepen om een GET verzoek te maken op een gegeven pad met een optionele query string.

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

try {
    $rest = new Zend_Service_Rest();

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

    // Geeft een Zend_Http_Response Object terug
    $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');

    if ($response->isSuccessful()) {
        echo $response->getBody();
    } else {
        echo '<p>Er trad een fout op</p>';
    }
} catch (Zend_Exception $e) {
        echo '<p>Er trad een fout op (' .$e->getMessage(). ')<p>';
}
?>       
[Opmerking] Opmerking
Je kan een correct geformateerde query string (zonder de voorafgaande vraagtekens "?") aan restGet() doorgeven, of je kan een associatieve array van naam/waarde-paren doorgeven. In ieder geval moeten de namen en waarden URL-encoded zijn (bv. met urlencode()).

Het gebruik van restPost() en restPut() is hetzelfde als het gebruik van de restGet(), maar de data wordt respectievelijk via HTTP POST of PUT gezonden in plaats van via GET.

De restDelete() methode werkt met een pad maar heeft geen tweede parameter in welke data kan worden doorgegeven.