Zend_Controller_Router_Route_Regexでの引数

2010年4月30日

Zend_Controller_Router_Route_Regexを使ってルーティングをしている時、
引数を強制したい場合がある。
例えば

$route = new Zend_Controller_Router_Route_Regex(
'detail.html’,
array(
'module’ => 'default’,
'controller’=> 'index’,
'action’ => 'detail’
)
);
$router->addRoute('detail’,$route);

で、detail.htmlが呼び出される時は、category=DVDにしたい。など。
そういう時は

$route = new Zend_Controller_Router_Route_Regex(
'detail.html’,
array(
'module’ => 'default’,
'controller’=> 'index’,
'action’ => 'detail’,
'category’ => 'DVD’
)
);
$router->addRoute('detail’,$route);

というようにすればよい。