15.2. Zend_Service_Rest

15.2.1. Einführung

Zend_Service_Rest ist ein Basis REST Client für die Abfrage von jedem beliebigen REST basierenden Web Service.

Beispiel 15.1. Eine Basis REST Abfrage

Im folgenden Code setzt die setUri() Methode die Basis URI für den REST Web Service. Anschließend wird die setUri() Methode aufgerufen, um einen GET Request an einen übergebenen Pfad mit einem optionalen Abfrage String durchzuführen.

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

try {
    $rest = new Zend_Service_Rest();

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

    // Gibt ein Zend_Http_Response Objekt zurück
    $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');

    if ($response->isSuccessful()) {
        echo $response->getBody();
    } else {
        echo '<p>Ein Fehler trat auf</p>';
    }
} catch (Zend_Exception $e) {
        echo '<p>Ein Fehler trat auf (' .$e->getMessage(). ')<p>';
}
?>       
[Anmerkung] Anmerkung
Man kann einen gültig formatierten Abfrage String (ohne das führende Fragezeichen "?") an restGet() übergeben, oder ein assiziatives Array mit Name-Wert Paaren. Egal welche Methode ausgewählt wird, die Namen und Werte müssen URL-verschlüsselt sein (z.B. mit urlencode())

restPost() und restPut() werden wie restGet() benutzt, nur das die Daten über HTTP POST oder PUT gesendet werden, statt mit GET.

Die restDelete() Methode arbeitet über den Pfad, aber Sie hat keinen zweiten Parameter in dem Daten übergeben werden können