[ZF-10089] Zend_Log
[zend.git] / documentation / manual / ja / module_specs / Zend_Rest_Server.xml
bloba73f7361622b1200ed34e11aedc5b2aee53681fb
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20818 -->
4 <sect1 id="zend.rest.server">
5     <title>Zend_Rest_Server</title>
7     <sect2 id="zend.rest.server.introduction">
8         <title>導入</title>
10         <para>
11             <classname>Zend_Rest_Server</classname> は、完全に機能する REST サーバを作成するためのものです。
12         </para>
13     </sect2>
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');
24 $server->handle();
25 ]]></programlisting>
26         </example>
28         <example id="zend.rest.server.usage.example-2">
29             <title>基本的な Zend_Rest_Server の使用法 - 関数</title>
31             <programlisting language="php"><![CDATA[
32 /**
33  * Say Hello
34  *
35  * @param string $who
36  * @param string $when
37  * @return string
38  */
39 function sayHello($who, $when)
41     return "Hello $who, Good $when";
44 $server = new Zend_Rest_Server();
45 $server->addFunction('sayHello');
46 $server->handle();
47 ]]></programlisting>
48         </example>
49     </sect2>
51     <sect2 id="zend.rest.server.args">
52         <title>Zend_Rest_Server サービスのコール</title>
54         <para>
55             <classname>Zend_Rest_Server</classname> サービスをコールするには、
56             GET/POST 時の引数 <code>method</code> にそのメソッド名を指定しなければなりません。
57             その後に、任意の数の引数を続けることができます。これは、引数の名前
58             (たとえば "who") を指定するか、あるいは引数の位置を表す数値
59             (たとえば "arg1") を指定します。
60         </para>
62         <note>
63             <title>数値インデックス</title>
65             <para>
66                数値で指定する引数のインデックスは、1 から始まります。
67             </para>
68         </note>
70         <para>
71             上の例の <code>sayHello</code> をコールするには、次のようにします。
72         </para>
74         <para>
75             <code>?method=sayHello&amp;who=Davey&amp;when=Day</code>
76         </para>
78         <para>
79             あるいは、このようにもできます。
80         </para>
82         <para>
83             <code>?method=sayHello&amp;arg1=Davey&amp;arg2=Day</code>
84         </para>
85     </sect2>
87     <sect2 id="zend.rest.server.customstatus">
88         <title>独自のステータスの送信</title>
90         <para>
91             値を返す際に独自のステータスを返すには、
92             キー <code>status</code> を含む配列を返します。
93         </para>
95         <example id="zend.rest.server.customstatus.example-1">
96             <title>独自のステータスを返す</title>
98             <programlisting language="php"><![CDATA[
99 /**
100  * Say Hello
102  * @param string $who
103  * @param string $when
104  * @return array
105  */
106 function sayHello($who, $when)
108     return array('msg' => "An Error Occurred", 'status' => false);
111 $server = new Zend_Rest_Server();
112 $server->addFunction('sayHello');
113 $server->handle();
114 ]]></programlisting>
115         </example>
116     </sect2>
118     <sect2 id="zend.rest.server.customxml">
119         <title>独自の XML レスポンスを返す</title>
121         <para>
122             独自の <acronym>XML</acronym> を返したい場合は、
123             <code>DOMDocument</code>、<code>DOMElement</code> あるいは
124             <code>SimpleXMLElement</code> オブジェクトを返します。
125         </para>
127         <example id="zend.rest.server.customxml.example-1">
128             <title>独自の XML を返す</title>
130             <programlisting language="php"><![CDATA[
132  * Say Hello
134  * @param string $who
135  * @param string $when
136  * @return SimpleXMLElement
137  */
138 function sayHello($who, $when)
140     $xml ='<?xml version="1.0" encoding="ISO-8859-1"?>
141 <mysite>
142     <value>Hey $who! Hope you\'re having a good $when</value>
143     <code>200</code>
144 </mysite>';
146     $xml = simplexml_load_string($xml);
147     return $xml;
150 $server = new Zend_Rest_Server();
151 $server->addFunction('sayHello');
153 $server->handle();
154 ]]></programlisting>
155         </example>
157         <para>
158             サービスからのレスポンスは、変更なしにクライアントに返されます。
159         </para>
160     </sect2>
161 </sect1>
163 <!--
164 vim:se ts=4 sw=4 et: