| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.rest.server">
- <title>Zend_Rest_Server</title>
- <sect2 id="zend.rest.server.introduction">
- <title>Einführung</title>
- <para>
- <classname>Zend_Rest_Server</classname> ist ein komplett-feature REST Server.
- </para>
- </sect2>
- <sect2 id="zend.rest.server.usage">
- <title>Verwenden des REST Servers</title>
- <example id="zend.rest.server.usage.example-1">
- <title>Grundsätzliche Verwendung von Zend_Rest_Server: Klassen</title>
- <programlisting language="php"><![CDATA[
- $server = new Zend_Rest_Server();
- $server->setClass('My_Service_Class');
- $server->handle();
- ]]></programlisting>
- </example>
- <example id="zend.rest.server.usage.example-2">
- <title>Grundsätzliche Verwendung von Zend_Rest_Server: Funktionen</title>
- <programlisting language="php"><![CDATA[
- /**
- * 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();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.rest.server.args">
- <title>Aufruf eines Zend_Rest_Server Services</title>
- <para>
- Um ein <classname>Zend_Rest_Server</classname> Service aufzurufen, muß ein
- <constant>GET</constant>/POST <code>method</code> 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 <code>arg</code> verwenden, gefolgt von der
- nummerischen Position des Arguments (z.B. "arg1").
- </para>
- <note>
- <title>Nummerischer Index</title>
- <para>
- Nummerische Argumente verwenden einen 1-basierenden Index.
- </para>
- </note>
- <para>
- Um <code>sayHello</code> vom obigen Beispiel aufzurufen, kann:
- </para>
- <para>
- <code>?method=sayHello&who=Davey&when=Day</code>
- </para>
- <para>
- verwendet werden, oder:
- </para>
- <para>
- <code>?method=sayHello&arg1=Davey&arg2=Day</code>
- </para>
- </sect2>
- <sect2 id="zend.rest.server.customstatus">
- <title>Senden eines eigenen Status</title>
- <para>
- Wenn Werte zurückgegeben werden, kann man, um einen eigenen Status zurückzugeben, ein
- Array mit einem <code>status</code> Schlüssel zurückgeben.
- </para>
- <example id="zend.rest.server.customstatus.example-1">
- <title>Einen eigenen Status zurückgeben</title>
- <programlisting language="php"><![CDATA[
- /**
- * 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();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.rest.server.customxml">
- <title>Eigene XML Antworten zurückgeben</title>
- <para>
- Wenn man eigenes <acronym>XML</acronym> zurückgeben will, kann einfach ein
- <code>DOMDocument</code>, <code>DOMElement</code> oder <code>SimpleXMLElement</code>
- Objekt zurückgegeben werden.
- </para>
- <example id="zend.rest.server.customxml.example-1">
- <title>Eigenes XML zurückgeben</title>
- <programlisting language="php"><![CDATA[
- /**
- * 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();
- ]]></programlisting>
- </example>
- <para>
- Die Antwort des Services wird ohne Modifizierungen zum Client zurückgegeben.
- </para>
- </sect2>
- </sect1>
|