usagi****@ezweb*****
usagi****@ezweb*****
2009年 12月 8日 (火) 19:00:32 JST
kunitsujiです 柴田さん。理解しました。 多分、一番スマートで目的の事をやる簡単な方法は、HMVCかマッチボックスを入れてモジュール管理されるのがいい気がします。 >kunitsuji さん > >返信ありがとうございます。 >admin.php内にuserメソッドが存在しない場合、メソッドの呼び出しに失敗するので404エラーとなります。 > > >2009年12月8日18:34 <usagi****@ezweb*****>: >> kunitsujiと申します。 >> adminコントローラにuserメソッドがあるわけですよね? >> それがなければどうなりますか? >> >> >>>はじめまして、柴田と申します。 >>> >>>コントローラについて悩んでおり、良い方法があれば教えて頂ければと思い投稿しました。 >>> >>>説明が下手で申し訳無いのですが、現在管理画面を作成しており、一部機能のコントローラを >>>サブディレクトリに配置したいと考えています。 >>>例えば、以下のようにコントローラを配置し >>> >>>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(); >>> } >>> } >>> >>>宜しければお知恵をお貸し下さい。 >>>よろしくお願いします。 >>> >>>_______________________________________________ >>>Codeigniter-users mailing list >>>Codei****@lists***** >>>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >> >> _______________________________________________ >> Codeigniter-users mailing list >> Codei****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >> > >_______________________________________________ >Codeigniter-users mailing list >Codei****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users