@blog.justoneplanet.info

日々勉強

Zend_Controller_Router_Route_Regexで正規表現によるルーティング設定を行う

以下のように、Zend_Controller_Router_Route_Regexを使用する。

$front->getRouter()->addRoute(
	'page',
	new Zend_Controller_Router_Route_Regex(
		'page_(\d+)\.html',
		array(
			'controller' => 'Index',
			'action'     => 'page'
		),
		array(
			1 => 'pageid'
		)
	)
);

Actionからは以下のコードでマッチした部分を参照できる。

$this->_getParam('pageid');

但し、URLヘルパーやこのクラスのメソッドを使用する場合は第4引数が必要となる。

$front->getRouter()->addRoute(
	'page',
	new Zend_Controller_Router_Route_Regex(
		'page_(\d+)\.html',
		array(
			'controller' => 'Index',
			'action'     => 'page'
		),
		array(
			1 => 'pageid'
		),
		'page_%d.html'
	)
);

参考

  • http://framework.zend.com/manual/ja/zend.controller.router.html
  • http://codezine.jp/article/detail/2226?p=2

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment