基本的なルーティング[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_:コントローラやアクションが見つからない場合のルート

正規表現を使ったルーティングなど、もう少し複雑な設定もできるようです。