[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Controller-Router-Route-Static.xml
blobf28959b9234cd5f5868890dae79baa2166601745
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 17592 -->
4 <sect3 id="zend.controller.router.routes.static">
5     <title>Zend_Controller_Router_Route_Static</title>
7     <para>
8         これまでの例では、すべて動的なルートを使用していました。
9         つまり、特定のパターンにマッチするものについてのルートです。
10         しかし、時には特定のルートを固定してしまい、
11         わざわざ正規表現エンジンを動かしたくない場合もあるでしょう。
12         そんなときには静的なルートを使用します。
13     </para>
15     <programlisting language="php"><![CDATA[
16 $route = new Zend_Controller_Router_Route_Static(
17     'login',
18     array('controller' => 'auth', 'action' => 'login')
20 $router->addRoute('login', $route);
21 ]]></programlisting>
23     <para>
24         上のルートは <filename>http://domain.com/login</filename> という <acronym>URL</acronym>
25         にマッチし、<methodname>AuthController::loginAction()</methodname> にディスパッチされます。
26     </para>
28     <note id="zend.controller.router.routes.static.warning">
29         <title>警告: 静的なルートにはまともなデフォルトが必須</title>
31         <para>
32             静的なルートは、<acronym>URL</acronym> の一部をリクエストオブジェクトへのパラメータとして渡すことはありません。
33             したがって、リクエストのディスパッチに必要なパラメータは
34             すべてデフォルトでルートに渡すようにしておかなければなりません。
35             "controller" や "action" のデフォルト値を省略してしまうと予期せぬ結果を引き起こし、
36             リクエストがディスパッチ不能になってしまうでしょう。
37         </para>
39         <para>
40             一般に、以下のデフォルト値は常に渡すようにしておきましょう。
41         </para>
43         <itemizedlist>
44             <listitem><para>controller</para></listitem>
45             <listitem><para>action</para></listitem>
46             <listitem><para>module (デフォルト以外の場合)</para></listitem>
47         </itemizedlist>
49         <para>
50             オプションで、起動時に "useDefaultControllerAlways"
51             パラメータをフロントコントローラに渡すこともできます。
52         </para>
54         <programlisting language="php"><![CDATA[
55 $front->setParam('useDefaultControllerAlways', true);
56 ]]></programlisting>
58         <para>
59             しかし、これはあくまでも次善策であり、
60             デフォルトを明記しておくほうがおすすめです。
61         </para>
62     </note>
63 </sect3>
64 <!--
65 vim:se ts=4 sw=4 et:
66 -->