| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 24249 -->
- <sect3 id="zend.controller.router.routes.static">
- <title>Zend_Controller_Router_Route_Static(日本語)</title>
- <para>
- これまでの例では、すべて動的なルートを使用していました。
- つまり、特定のパターンにマッチするものについてのルートです。
- しかし、時には特定のルートを固定してしまい、
- わざわざ正規表現エンジンを動かしたくない場合もあるでしょう。
- そんなときには静的なルートを使用します。
- </para>
- <programlisting language="php"><![CDATA[
- $route = new Zend_Controller_Router_Route_Static(
- 'login',
- array('controller' => 'auth', 'action' => 'login')
- );
- $router->addRoute('login', $route);
- ]]></programlisting>
- <para>
- 上のルートは <filename>http://domain.com/login</filename> という <acronym>URL</acronym>
- にマッチし、<methodname>AuthController::loginAction()</methodname> にディスパッチされます。
- </para>
- <note id="zend.controller.router.routes.static.warning">
- <title>警告: 静的なルートにはまともなデフォルトが必須</title>
- <para>
- 静的なルートは、<acronym>URL</acronym> の一部をリクエストオブジェクトへのパラメータとして渡すことはありません。
- したがって、リクエストのディスパッチに必要なパラメータは
- すべてデフォルトでルートに渡すようにしておかなければなりません。
- "controller" や "action" のデフォルト値を省略してしまうと予期せぬ結果を引き起こし、
- リクエストがディスパッチ不能になってしまうでしょう。
- </para>
- <para>
- 一般に、以下のデフォルト値は常に渡すようにしておきましょう。
- </para>
- <itemizedlist>
- <listitem><para>controller</para></listitem>
- <listitem><para>action</para></listitem>
- <listitem><para>module (デフォルト以外の場合)</para></listitem>
- </itemizedlist>
- <para>
- オプションで、起動時に "useDefaultControllerAlways"
- パラメータをフロントコントローラに渡すこともできます。
- </para>
- <programlisting language="php"><![CDATA[
- $front->setParam('useDefaultControllerAlways', true);
- ]]></programlisting>
- <para>
- しかし、これはあくまでも次善策であり、
- デフォルトを明記しておくほうがおすすめです。
- </para>
- </note>
- </sect3>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|