Beispiel 668. Grundsätzliche Verwendung von Zend_Rest_Server: Klassen
$server = new Zend_Rest_Server(); $server->setClass('My_Service_Class'); $server->handle();
Beispiel 669. Grundsätzliche Verwendung von Zend_Rest_Server: Funktionen
/** * Sag Hallo * * @param string $who * @param string $when * @return string */ function sayHello($who, $when) { return "Hallo $who, Gut $when"; } $server = new Zend_Rest_Server(); $server->addFunction('sayHello'); $server->handle();
Um ein Zend_Rest_Server
Service aufzurufen, muß ein
GET
/POST method
Argument mit einem Wert angegeben
werden, welcher der Methode entspricht, die aufgerufen werden soll. Es können
anschließend beliebig viele Argumente folgen, die entweder den Namen des Arguments
verwenden (z.B. "wer"), oder man kann arg
verwenden, gefolgt von der
nummerischen Position des Arguments (z.B. "arg1").
Nummerischer Index
Nummerische Argumente verwenden einen 1-basierenden Index.
Um sayHello
vom obigen Beispiel aufzurufen, kann:
?method=sayHello&who=Davey&when=Day
verwendet werden, oder:
?method=sayHello&arg1=Davey&arg2=Day
Wenn Werte zurückgegeben werden, kann man, um einen eigenen Status zurückzugeben, ein
Array mit einem status
Schlüssel zurückgeben.
Beispiel 670. Einen eigenen Status zurückgeben
/** * Sag Hallo * * @param string $who * @param string $when * @return array */ function sayHello($who, $when) { return array('msg' => 'Ein Fehler ist aufgetreten', 'status' => false); } $server = new Zend_Rest_Server(); $server->addFunction('sayHello'); $server->handle();
Wenn man eigenes XML zurückgeben will, kann einfach ein
DOMDocument
, DOMElement
oder SimpleXMLElement
Objekt zurückgegeben werden.
Beispiel 671. Eigenes XML zurückgeben
/** * Sag Hallo * * @param string $who * @param string $when * @return SimpleXMLElement */ function sayHello($who, $when) { $xml ='<?xml version="1.0" encoding="ISO-8859-1"?> <mysite> <value>Hallo $who! Hoffentlich hast Du einen guten $when</value> <code>200</code> </mysite>'; $xml = simplexml_load_string($xml); return $xml; } $server = new Zend_Rest_Server(); $server->addFunction('sayHello'); $server->handle();
Die Antwort des Services wird ohne Modifizierungen zum Client zurückgegeben.