5.4. 変数のデフォルト値

ルートの中の変数には、すべてデフォルト値を設定することができます。 デフォルト値を設定するには、addRoute メソッドで 3 番目のパラメータを使用します。 このパラメータは配列形式となります。配列のキーに変数名、 そのキーに対応する値としてデフォルト値を設定します。

$router->addRoute('archive', 'archive/:year', array('year' => 2006));

ちょっとわかりにくいかもしれませんが、このルートは例えば 'http://example.com/archive/2005' および 'http://example.com/archive' にマッチします。後者の場合、変数 year の値は 2006 となります。

上の例ではコントローラを設定していないので、常に IndexController の noRoute アクションが起動してしまいます。この例が使い物になるようにするには、 コントローラとアクションのデフォルト値を設定しなければなりません。

$router->addRoute('archive', 'archive/:year', array('year' => 2006, 'controller' => 'archive', 'action' => 'show'));