Belial
philo****@gmail*****
2009年 12月 8日 (火) 18:04:57 JST
はじめまして、柴田と申します。
コントローラについて悩んでおり、良い方法があれば教えて頂ければと思い投稿しました。
説明が下手で申し訳無いのですが、現在管理画面を作成しており、一部機能のコントローラを
サブディレクトリに配置したいと考えています。
例えば、以下のようにコントローラを配置し
controller/
-admin.php
+ admin/
-user.php
管理画面のURLが http://example.com/admin
で、admin.php というコントローラが起動しメニューの表示などを行い、
ユーザの追加処理は http://example.com/admin/user/insert
で、adminフォルダにあるuser.php というコントローラを起動したいのですが、CIで普通に
http://example.com/admin/user/insertにアクセスすると、
admin.phpのuserメソッドが実行されます。
adminフォルダを別の名前にし、ルーティングを行うしか方法を考えたのですが、
URLとディレクトリ構成が一致している方が望ましいため、上記の形で出来る方法を
さがしております。
一応無理矢理な方法として、以下のようなメソッドをadmin.phpに追加してみましたが、
良い方法とは思えません。
function user($arg = "",$arg2=""){
include(APPPATH.'controllers/admin/user.php');
$user = new User();
if(method_exists($user,$arg)){
$user->$arg($arg2);
}
else{
$user->index();
}
}
宜しければお知恵をお貸し下さい。
よろしくお願いします。