2012-02-08 5 views
0

codeigniterでルーティングするための設定ルールに関する質問があります。フレームワークと文書に含まれて基本的な歓迎のチュートリアルで は、デフォルトのルーティングがあるcodeigniterのルーティングルールの設定

$route['default_controller'] = "welcome"; 

、コントローラフォルダにあるクラス名が「歓迎」を持つファイルで、welcome_view.phpですビューにあります。しかし、コントローラフォルダに新しいフォルダを作成してWelcomeという名前をつけたら、welcome.phpに移動しますか?次に、私はそれを同じビューで実行します(Welcome_viewという名前のフォルダを作成し、そこにwelcome_view.phpを移動します)。 default_controllerのルートは何ですか?どうもありがとうございました。その場合(歓迎フォルダ内welcome.php)において

答えて

0

、ルートは次のようになります

$route['default_controller'] = "welcome/welcome"; 

CIは、第doesntのに規則的なパターンコントローラ/方法に一致する場合folder[/subfolders]としてルートをマッピングする試みを行い、 show_404()エラーをスローする前に
上記のルートは、ウェルカムフォルダ内のウェルカムクラスのindex()メソッドを呼び出します。ウェルカムクラスが直接コントローラフォルダにないと仮定します。

同じことがビューに適用されます。views/welcome/フォルダ内welcome.phpファイルを取り出す

$this->load->view('welcome/welcome'); 

:あなたはサブフォルダ内のビューにマップする場合は、あなたがそれを呼び出します。

1

実際、コントローラフォルダ内にフォルダを追加できます。これはCodeIgniter Documentationに記載されています。

あなたはへのルートを変更します:あなたはビューの同じ規則に従うことを選択した場合、これは大丈夫ですが、それは必須ではありません$route['default_controller'] = "Welcome/welcome";

。それは使用してそれを読み込むここであなたはまだあなたのビューを残すことができる:

$this->load->view('welcome');

そうでない場合は、あなたが同じ規則およびサブフォルダそれを従わ行う場合は呼び出します。

$this->load->view('welcome/welcome');

+0

しかし、もっと重要なことに、なぜあなたはこれをやっていますか?それはあなたのURLにひどく見苦しく見えるでしょうし、CodeIgniterは意味URLを求めています。あなたがしようとしていることを達成するためのより良い方法があります。多分あなたはもっと情報を与えることができます。 –

+0

あなた自身にコメントを追加する代わりにあなたの投稿を編集することができます。 – PiTheNumber

+0

@PiTheNumberが必要な場合は** Update **とマークしてください - 回答者よりも質問者が質問に戻ってきたことがコメントで分かりました。私は質問で質問に答えなければならないと思います、IMO。 –

関連する問題