[Codeigniter-users] 親ディレクトリにサブディレクトリと同名のコントローラが存在する場合でも、サブ

Back to archive index

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




Codeigniter-users メーリングリストの案内
Back to archive index