基本的なルーティング[FuelPHP1.7]
ルーティングの設定
「コントローラの規則」で URL とコントローラの関係がわかりましたが、 FuelPHP では URL とコントローラの関係を明示的に指定することもできます。
また、 URL の指定でコントローラが省略された場合やページが存在しない場合の動作など、設定ファイルとして定義することができます。
例えば、 URI でコントローラが省略された場合は、 app/config/routes.php を次のように設定します。この例では、 blog コントローラの action_index() メソッドを 実行するよう定義しています。
return array(
'_root_' => 'blog/index', // The default route
);
FuelPHP のルーティングは、リクエストされた URL と左辺に記述されたルートが一致した場合、右辺の処理が実行されます。
return array(
'about' => 'site/about', // http://hoge.net/about
'admin' => 'admin/login', // http://hoge.net/admin
);
上記例では、 http://hoge.net/about とリクエストされた場合、 site コントローラの about メソッドが実行されることになります。
予約済みのルート
FuelPHP では、2 つの予約済みのルートがあります。
- root:省略された場合のデフォルトルート
- 404:コントローラやアクションが見つからない場合のルート
正規表現を使ったルーティングなど、もう少し複雑な設定もできるようです。