[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Controller-Router-Route-Rest.xml
blob2f9e91693246c9d34a314a886ab93ee56aa27320
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20765 -->
4 <sect3 id="zend.controller.router.routes.rest">
5     <title>Zend_Rest_Route</title>
7     <para>
8         <classname>Zend_Rest</classname>コンポーネントは、
9         <classname>Zend_Controller_Router_Rewrite</classname>のためにRESTfulなルートを含みます。
10         このルートは、<acronym>HTTP</acronym>メソッド及び<acronym>URI</acronym>をモジュール、
11         コントローラ及びアクションに変換することにより、
12         リクエストを割り振る標準化されたルーティング機構を提供します。
13         下表では、リクエスト・メソッドと<acronym>URI</acronym>を割り振る方法の概要を提示します。
14     </para>
16     <table frame="all">
17         <title>Zend_Rest_Route Behavior</title>
19         <tgroup cols='3' align='left' colsep='1' rowsep='1'>
20             <colspec colname='method' />
21             <colspec colname='URI' />
22             <colspec colname='route' />
23             <thead>
24                 <row>
25                     <entry>メソッド</entry>
26                     <entry><acronym>URI</acronym></entry>
27                     <entry>Module_Controller::action</entry>
28                 </row>
29             </thead>
30             <tbody>
31                 <row>
32                     <entry><constant>GET</constant></entry>
33                     <entry><filename>/product/ratings/</filename></entry>
34                     <entry><methodname>Product_RatingsController::indexAction()</methodname></entry>
35                 </row>
36                 <row>
37                     <entry><constant>GET</constant></entry>
38                     <entry><filename>/product/ratings/:id</filename></entry>
39                     <entry><methodname>Product_RatingsController::getAction()</methodname></entry>
40                 </row>
41                 <row>
42                     <entry><constant>POST</constant></entry>
43                     <entry><filename>/product/ratings</filename></entry>
44                     <entry><methodname>Product_RatingsController::postAction()</methodname></entry>
45                 </row>
46                 <row>
47                     <entry><constant>PUT</constant></entry>
48                     <entry><filename>/product/ratings/:id</filename></entry>
49                     <entry><methodname>Product_RatingsController::putAction()</methodname></entry>
50                 </row>
51                 <row>
52                     <entry><constant>DELETE</constant></entry>
53                     <entry><filename>/product/ratings/:id</filename></entry>
54                     <entry>
55                         <methodname>Product_RatingsController::deleteAction()</methodname>
56                     </entry>
57                 </row>
58                 <row>
59                     <entry><constant>POST</constant></entry>
60                     <entry><filename>/product/ratings/:id?_method=PUT</filename></entry>
61                     <entry><methodname>Product_RatingsController::putAction()</methodname></entry>
62                 </row>
63                 <row>
64                     <entry><constant>POST</constant></entry>
65                     <entry><filename>/product/ratings/:id?_method=DELETE</filename></entry>
66                     <entry>
67                         <methodname>Product_RatingsController::deleteAction()</methodname>
68                     </entry>
69                 </row>
70             </tbody>
71         </tgroup>
72     </table>
74     <sect4 id="zend.rest.route_usage">
75         <title>Zend_Rest_Route 利用法</title>
77     <para>
78         <classname>Zend_Rest_Route</classname>をアプリケーション全てで有効にするには、
79         構成パラメータ無しで構築して、フロントコントローラにデフォルトのルートとして追加してください。
80     </para>
82     <programlisting language="php"><![CDATA[
83 $front     = Zend_Controller_Front::getInstance();
84 $restRoute = new Zend_Rest_Route($front);
85 $front->getRouter()->addRoute('default', $restRoute);
86 ]]></programlisting>
88     <note>
89         <para>
90             もし<classname>Zend_Rest_Route</classname>が有効なモジュール、
91             コントローラまたはアクションにマッチできなければ、<constant>FALSE</constant>を返します。
92             そして、ルータはルータのなかの次のルートを使ってマッチを試みます。
93         </para>
94     </note>
96     <para>
97         特定のモジュールで<classname>Zend_Rest_Route</classname>を有効にするには、
98         コンストラクタの3番目の引数としてモジュール名の配列を使って構成します。
99     </para>
101     <programlisting language="php"><![CDATA[
102 $front     = Zend_Controller_Front::getInstance();
103 $restRoute = new Zend_Rest_Route($front, array(), array('product'));
104 $front->getRouter()->addRoute('rest', $restRoute);
105 ]]></programlisting>
107     <para>
108         特定のコントローラで<classname>Zend_Rest_Route</classname>を有効にするには、
109         コントローラ名の配列を各モジュールの配列の要素の値として追加します。
110     </para>
112     <programlisting language="php"><![CDATA[
113 $front     = Zend_Controller_Front::getInstance();
114 $restRoute = new Zend_Rest_Route($front, array(), array(
115     'product' => array('ratings')
117 $front->getRouter()->addRoute('rest', $restRoute);
118 ]]></programlisting>
120     </sect4>
122     <!-- TODO : to be translated -->
123     <sect4 id="zend.rest.route_config">
124         <title>Zend_Rest_Route with Zend_Config_Ini</title>
126     <para>
127         To use <classname>Zend_Rest_Route</classname> from an <acronym>INI</acronym> config file, use a route type
128         parameter and set the config options:
129     </para>
131     <programlisting language="ini"><![CDATA[
132 routes.rest.type = Zend_Rest_Route
133 routes.rest.defaults.controller = object
134 routes.rest.mod = project,user
135 ]]></programlisting>
137     <para>
138         The 'type' option designates the RESTful routing config type.
139         The 'defaults' option is used to specify custom default
140         module, controller, and/or actions for the route. All other options
141         in the config group are treated as RESTful module names, and their
142         values are RESTful controller names. The example config defines
143         <classname>Mod_ProjectController</classname> and <classname>Mod_UserController</classname> as RESTful controllers.
144     </para>
146     <para>
147         Then use the <methodname>addConfig()</methodname> method of the Rewrite router object:
148     </para>
150     <programlisting language="php"><![CDATA[
151 $config = new Zend_Config_Ini('path/to/routes.ini');
152 $router = new Zend_Controller_Router_Rewrite();
153 $router->addConfig($config, 'routes');
154 ]]></programlisting>
156     </sect4>
158     <sect4 id="zend.rest.controller">
159         <title>Zend_Rest_Controller</title>
161         <para>
162             <classname>Zend_Rest_Route</classname>を使う
163             コントローラの開発を助けるか誘導するためには、
164             <classname>Zend_Rest_Controller</classname>からコントローラを拡張してください。
165             <classname>Zend_Rest_Controller</classname>では、
166             RESTfulなリソースのために5つの最も一般的に必要とされる操作を
167             抽象的なアクション・メソッドの形で定義します。
168         </para>
170         <itemizedlist>
171             <listitem>
172                 <para>
173                     <emphasis><methodname>indexAction()</methodname></emphasis> -
174                     リソースのインデックスを取得して、それをビューに割り当てます。
175                 </para>
176             </listitem>
177             <listitem>
178                 <para>
179                     <emphasis><methodname>getAction()</methodname></emphasis> -
180                     <acronym>URI</acronym>で識別される単一のリソースを取得して、それをビューに割り当てます。
181                 </para>
182             </listitem>
183             <listitem>
184                 <para>
185                     <emphasis><methodname>postAction()</methodname></emphasis> -
186                     単一の新しいリソースを受け取って、その状態を持続します。
187                 </para>
188             </listitem>
189             <listitem>
190                 <para>
191                     <emphasis><methodname>putAction()</methodname></emphasis> -
192                     <acronym>URI</acronym>で識別される単一のリソースを受け取って、その状態を持続します。
193                 </para>
194             </listitem>
195             <listitem>
196                 <para>
197                     <emphasis><methodname>deleteAction()</methodname></emphasis> -
198                     <acronym>URI</acronym>で識別される単一のリソースを削除します。
199                 </para>
200             </listitem>
201         </itemizedlist>
203     </sect4>
204 </sect3>
205 <!--
206 vim:se ts=4 sw=4 et: