Zendのフロントコントローラーでルーティング設定をした時の引数
ZendFrameworkを利用して、index.phpなどのフロントコントローラー上でルーティング設定をした際、
URL内の情報を引数としてコントローラーに渡したい場合がある。
例えば下記の例。
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route(
':controller/:action/*',
array(
'module' => 'default',
'controller'=> 'index',
'action' => 'index',
));
$router->addRoute('default',$route);
//その他ページ出力
$route = new Zend_Controller_Router_Route_Regex(
'abebe/abebe.php',
array(
'module' => 'default',
'controller'=> 'abebe',
'action' => 'index',
) );
$router->addRoute('indexpage',$route);
このabebe.phpで
$val = $this->_getParam('var1');
というように引数を受け取りたい。
などなど。
その時は、フロントコントローラーのルーティング上で
$route = new Zend_Controller_Router_Route_Regex(
‘abebe/abebe.php?var1=(.*)’,
array(
‘module’ => ‘default’,
‘controller’=> ‘abebe’,
‘action’ => ‘index’,
),
array( 1 => ‘var1′ )
);
$router->addRoute(‘indexpage’,$route);
というように正規表現の情報をZend_Controller_Router_Route_Regexの第3引数にセットしてあげればよい。
ディスカッション
コメント一覧
まだ、コメントがありません