Zend_Controller_Router_Route_Static(日本語)
これまでの例では、すべて動的なルートを使用していました。
つまり、特定のパターンにマッチするものについてのルートです。
しかし、時には特定のルートを固定してしまい、
わざわざ正規表現エンジンを動かしたくない場合もあるでしょう。
そんなときには静的なルートを使用します。
'auth', 'action' => 'login')
);
$router->addRoute('login', $route);
]]>
上のルートは http://domain.com/login という URL
にマッチし、AuthController::loginAction() にディスパッチされます。
警告: 静的なルートにはまともなデフォルトが必須
静的なルートは、URL の一部をリクエストオブジェクトへのパラメータとして渡すことはありません。
したがって、リクエストのディスパッチに必要なパラメータは
すべてデフォルトでルートに渡すようにしておかなければなりません。
"controller" や "action" のデフォルト値を省略してしまうと予期せぬ結果を引き起こし、
リクエストがディスパッチ不能になってしまうでしょう。
一般に、以下のデフォルト値は常に渡すようにしておきましょう。
controller
action
module (デフォルト以外の場合)
オプションで、起動時に "useDefaultControllerAlways"
パラメータをフロントコントローラに渡すこともできます。
setParam('useDefaultControllerAlways', true);
]]>
しかし、これはあくまでも次善策であり、
デフォルトを明記しておくほうがおすすめです。