1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- EN-Revision: 20818 -->
4 <sect1 id="zend.rest.server">
5 <title>Zend_Rest_Server</title>
7 <sect2 id="zend.rest.server.introduction">
11 <classname>Zend_Rest_Server</classname> は、完全に機能する REST サーバを作成するためのものです。
15 <sect2 id="zend.rest.server.usage">
16 <title>REST サーバの使用法</title>
18 <example id="zend.rest.server.usage.example-1">
19 <title>基本的な Zend_Rest_Server の使用法 - クラス</title>
21 <programlisting language="php"><![CDATA[
22 $server = new Zend_Rest_Server();
23 $server->setClass('My_Service_Class');
28 <example id="zend.rest.server.usage.example-2">
29 <title>基本的な Zend_Rest_Server の使用法 - 関数</title>
31 <programlisting language="php"><![CDATA[
39 function sayHello($who, $when)
41 return "Hello $who, Good $when";
44 $server = new Zend_Rest_Server();
45 $server->addFunction('sayHello');
51 <sect2 id="zend.rest.server.args">
52 <title>Zend_Rest_Server サービスのコール</title>
55 <classname>Zend_Rest_Server</classname> サービスをコールするには、
56 GET/POST 時の引数 <code>method</code> にそのメソッド名を指定しなければなりません。
57 その後に、任意の数の引数を続けることができます。これは、引数の名前
58 (たとえば "who") を指定するか、あるいは引数の位置を表す数値
63 <title>数値インデックス</title>
66 数値で指定する引数のインデックスは、1 から始まります。
71 上の例の <code>sayHello</code> をコールするには、次のようにします。
75 <code>?method=sayHello&who=Davey&when=Day</code>
83 <code>?method=sayHello&arg1=Davey&arg2=Day</code>
87 <sect2 id="zend.rest.server.customstatus">
88 <title>独自のステータスの送信</title>
92 キー <code>status</code> を含む配列を返します。
95 <example id="zend.rest.server.customstatus.example-1">
96 <title>独自のステータスを返す</title>
98 <programlisting language="php"><![CDATA[
103 * @param string $when
106 function sayHello($who, $when)
108 return array('msg' => "An Error Occurred", 'status' => false);
111 $server = new Zend_Rest_Server();
112 $server->addFunction('sayHello');
118 <sect2 id="zend.rest.server.customxml">
119 <title>独自の XML レスポンスを返す</title>
122 独自の <acronym>XML</acronym> を返したい場合は、
123 <code>DOMDocument</code>、<code>DOMElement</code> あるいは
124 <code>SimpleXMLElement</code> オブジェクトを返します。
127 <example id="zend.rest.server.customxml.example-1">
128 <title>独自の XML を返す</title>
130 <programlisting language="php"><![CDATA[
135 * @param string $when
136 * @return SimpleXMLElement
138 function sayHello($who, $when)
140 $xml ='<?xml version="1.0" encoding="ISO-8859-1"?>
142 <value>Hey $who! Hope you\'re having a good $when</value>
146 $xml = simplexml_load_string($xml);
150 $server = new Zend_Rest_Server();
151 $server->addFunction('sayHello');
158 サービスからのレスポンスは、変更なしにクライアントに返されます。