0

CakePHPでルーティング

今までオレオレフレームワークを使ってきたけど、結局のところプロジェクト全体ではOSSのフレームワークを使って処理の重い所だけ、別途作成予定のオレオレ軽量フレームワークを使うのが一番開発効率がいい気がしてきた。

という事で最近cakePHPをちょこちょこ触ってます。
今回はずっと気になってたcakephpのルーティングについてのメモ。

CakePHPのルーティングを何も分からずcakephpで作ってるとURLがこんな感じに一階層ものばかりになってしまいます。

  • http://hoge.com/profiles/add
  • http://hoge.com/profiles/edit
  • http://hoge.com/profiles/list

もちろんコンテンツの内容によって以下ように2階層目以下も使って表示させたいわけで、そういう時はroutes.phpに記述していきます。

  • http://hoge.com/mypage/profiles/add
  • http://hoge.com/mypage/profiles/edit
  • http://hoge.com/mypage/profiles/list

app/config/routes.php
Router::connect('/mypage/profiles/add', array('controller' => 'profiles', 'action' => 'add'));
Router::connect('/mypage/profiles/edit', array('controller' => 'profiles', 'action' => 'edit'));
Router::connect('/mypage/profiles/list', array('controller' => 'profiles', 'action' => 'list'));

と、一つ一つ書いていってもいいし:actionを使ってワイルドカードのようにも扱えます。
Router::connect('/mypage/profiles/:action', array('controller' => 'profiles'));

今後主とするフレームワークをどれにするかかなり迷い中。
一番手になじんでるcakephp、なんとなく恰好良いsymfony、今ならあえてLithiumか。

大阪のWEB屋です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です