■基本的なルーティング
ルーティング設定は、fuel/app/config/routes.phpで行う。
リクエストされたURIと実行されるURIを配列で定義する。
return array(
'blog' => 'user/blog',
)
http://example.jp/blogにアクセスするとuserコントローラのaction_blog()メソッドが実行される。
■正規表現によるルーティング
ルート設定には正規表現を含めることが出来る。そのマッチした部分を右辺に代入するといったよ
うな、 左辺の正規表現による右辺の後方参照が利用可能。
:any URIの任意の部分にマッチ
:segment URIの1つのセグメントのみにマッチする。しかしそのセグメントは任意のものであっていい。
:num 数字にマッチ
:alpha 文字にマッチ
:alnum 文字と数字にマッチ
例:
return array (
'blog/(:any)' => 'blog/entry/$1', // ①
'(:segment)/about' => 'test/about/$1', // ②
'([0-9]{3})/detail' => 'test/id/$1', // ③
);
・http://localhost/fuelphp/blog/abcにアクセスすると、:anyはURIの任意の部分なので
blog/(:any)にマッチし、routingtest/entry/abcが実行される。$1は正規表現の後方参照で
()で囲まれた最初の部分の値に置き換えられる。
・http://localhost/fuelphp/def/aboutの場合は、(:segment)/aboutにマッチしますので②のルートになる
・http://localhost/fuelphp/123/detailの場合は、[0-9]{3}は半角数字3文字を意味する正規表現なので③のルートになる