| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 24249 -->
- <sect1 id="zend.rest.server">
- <title>Zend_Rest_Server(日本語)</title>
- <sect2 id="zend.rest.server.introduction">
- <title>導入</title>
- <para>
- <classname>Zend_Rest_Server</classname> は、完全に機能する REST サーバを作成するためのものです。
- </para>
- </sect2>
- <sect2 id="zend.rest.server.usage">
- <title>REST サーバの使用法</title>
- <example id="zend.rest.server.usage.example-1">
- <title>基本的な Zend_Rest_Server の使用法 - クラス</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>基本的な Zend_Rest_Server の使用法 - 関数</title>
- <programlisting language="php"><![CDATA[
- /**
- * Say Hello
- *
- * @param string $who
- * @param string $when
- * @return string
- */
- function sayHello($who, $when)
- {
- return "Hello $who, Good $when";
- }
- $server = new Zend_Rest_Server();
- $server->addFunction('sayHello');
- $server->handle();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.rest.server.args">
- <title>Zend_Rest_Server サービスのコール</title>
- <para>
- <classname>Zend_Rest_Server</classname> サービスをコールするには、
- <constant>GET</constant>/POST 時の引数 <code>method</code> にそのメソッド名を指定しなければなりません。
- その後に、任意の数の引数を続けることができます。これは、引数の名前
- (たとえば "who") を指定するか、あるいは引数の位置を表す数値
- (たとえば "arg1") を指定します。
- </para>
- <note>
- <title>数値インデックス</title>
- <para>
- 数値で指定する引数のインデックスは、1 から始まります。
- </para>
- </note>
- <para>
- 上の例の <code>sayHello</code> をコールするには、次のようにします。
- </para>
- <para>
- <code>?method=sayHello&who=Davey&when=Day</code>
- </para>
- <para>
- あるいは、このようにもできます。
- </para>
- <para>
- <code>?method=sayHello&arg1=Davey&arg2=Day</code>
- </para>
- </sect2>
- <sect2 id="zend.rest.server.customstatus">
- <title>独自のステータスの送信</title>
- <para>
- 値を返す際に独自のステータスを返すには、
- キー <code>status</code> を含む配列を返します。
- </para>
- <example id="zend.rest.server.customstatus.example-1">
- <title>独自のステータスを返す</title>
- <programlisting language="php"><![CDATA[
- /**
- * Say Hello
- *
- * @param string $who
- * @param string $when
- * @return array
- */
- function sayHello($who, $when)
- {
- return array('msg' => "An Error Occurred", 'status' => false);
- }
- $server = new Zend_Rest_Server();
- $server->addFunction('sayHello');
- $server->handle();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.rest.server.customxml">
- <title>独自の XML レスポンスを返す</title>
- <para>
- 独自の <acronym>XML</acronym> を返したい場合は、
- <code>DOMDocument</code>、<code>DOMElement</code> あるいは
- <code>SimpleXMLElement</code> オブジェクトを返します。
- </para>
- <example id="zend.rest.server.customxml.example-1">
- <title>独自の XML を返す</title>
- <programlisting language="php"><![CDATA[
- /**
- * Say Hello
- *
- * @param string $who
- * @param string $when
- * @return SimpleXMLElement
- */
- function sayHello($who, $when)
- {
- $xml ='<?xml version="1.0" encoding="ISO-8859-1"?>
- <mysite>
- <value>Hey $who! Hope you\'re having a good $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>
- サービスからのレスポンスは、変更なしにクライアントに返されます。
- </para>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|