Kenji Suzuki
kenji****@gmail*****
2009年 12月 8日 (火) 18:34:29 JST
Kenji です。 On Tue, 8 Dec 2009 18:04:57 +0900 Belial <philo****@gmail*****> wrote: > はじめまして、柴田と申します。 > > コントローラについて悩んでおり、良い方法があれば教えて頂ければと思い投稿しました。 > > 説明が下手で申し訳無いのですが、現在管理画面を作成しており、一部機能のコントローラを > サブディレクトリに配置したいと考えています。 > 例えば、以下のようにコントローラを配置し > > 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メソッドが実行されます。 ちょっと、要求と違うかもしれませんが、 controller/admin/ index.php user.php として、http://example.com/admin で index.php が実行される ようにする、だとどうでしょう? // Kenji > 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(); > } > } > > 宜しければお知恵をお貸し下さい。 > よろしくお願いします。 > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users