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

Back to archive index

Belial philo****@gmail*****
2009年 12月 8日 (火) 18:56:41 JST


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 メーリングリストの案内
Back to archive index