ルーティングの設定でroutes.phpをさわってみました。
<掲示板の例>
app/classes/controller/bbs.php
class Controller_Bbs extends Controller_Template { // 掲示板一覧 public function action_index() { } }
app/classes/controller/bbs/article.php
class Controller_Bbs_Article extends Controller_Template { // 記事一覧 public function action_index($bbs_id = null) { } // 記事書き込み public function action_post($bbs_id = null) { } }
まず掲示板一覧のアドレス
http://localhost/fuelphp/bbs/
これはいい。
けど、記事一覧のアドレス
http://localhost/fuelphp/bbs/article/<bbs_id>
掲示板のIDを渡すようにしたいけどなんか格好わるい。。。
掲示板のIDというより記事のIDに見えるし。
さらに記事投稿のアドレス
http://localhost/fuelphp/bbs/article/post/<bbs_id>
変だ。
毎回、$bbs_idをチェックするのも面倒だし。
そこでapp/config/routes.phpに以下を追加
'bbs/:bbs_id/article(/:any)?' => 'bbs/article$2',app/classes/controller/bbs/article.php
class Controller_Bbs_Article extends Controller_Template { protected $bbs_id = null; public function before() { parent::before(); $this->bbs_id = $this->param('bbs_id'); } // 記事一覧 public function action_index() { } // 記事書き込み public function action_post() { } }
これで、記事一覧のアドレス
http://localhost/fuelphp/bbs/<bbs_id>/article/
記事投稿のアドレス
http://localhost/fuelphp/bbs/<bbs_id>/article/post/
コードもURLも最初に比べるとすっきりしたかな。
0 件のコメント:
コメントを投稿