2011-07-15 16 views
0

私は自分のPHPフレームワークとしてcodeIgnitorを使用する方法を学習しています。私はドキュメンテーションを読んで、イントロビデオを見ていて、最初のチュートリアルとほぼ同じですが、私にとってはうまくいきません。CodeIgnitor:新しいコントローラを取得できません/表示するに表示

"test.php"というコントローラと "test_view"というビューを作成しました。このクラスのコントローラーは "welcome.php"とまったく同じです。ビューファイルにはいくつかの静的HTMLがあります。しかし、私がindex.php/testに行くと404エラーが出ます。

元のウェルカムファイルを操作しようとしましたが、ビューを呼び出す代わりに "テスト"というエコーが表示されますが、まだ元のウェルカムメッセージが表示されます。私はブラウズ現金を清算して爽やかにしようとしましたが、無駄にしました。

提案がありますか?ありがとう。

編集:ここではコントローラのコード/ test.phpをだ

<?php 

class Test extends Controller { 

     //Just trying to get it to echo test 
    public function index() 
    { 
     echo "test"; 
     //$this->load->view('test_view'); 
    } 
} 
?> 
+1

'test.php'コントローラコードを投稿してもよろしいですか?クラス宣言が異なっていなければならないので、 'welcome.php'とまったく同じであってはいけません。 – user482594

+1

Codeigniterのバージョンは使用していますか? – Paulraj

+0

最近ダウンロードされたバージョンの[CodeIgniter](http://www.codeigniter.com)を使用している場合、 'class Test extends Controller {'を 'Test Test extends CI_Controller {' – PhearOfRayne

答えて

0

this page in the documentationを見て試してみてください - これはあなたの問題を解決する可能性があります。

これは基本的に、index.php?/ test/(疑問符に気づく)を試してみることを意味します。

0

まず、上記のリンクを確認してください。役に立つかもしれない。

ない場合は、...

はindex.phpををロードしようとし、その後、(「テスト」に、おそらく)何か他に設定ファイル(「routes.phpの」)で、デフォルトのコントローラを変更してみてください。システム全体が機能するかどうかをテストするだけです。

mod_rewriteがロードされているかどうかを確認します(Apacheを使用している場合はサーバーの.conf-fileにあります)。 フレームワークの最新ビルドを使用してみてください。 AFAIK、今コントローラークラスの名前は "CI_Controller"です。

最後に、関数の宣言の前に「public」という単語を削除してみます。 AFAIR、CIでは、関数の名前の先頭に接頭辞(設定ファイルで設定されています)を使用するだけで、コントローラ内でプライベート関数を作成することができます。

もっとも、問題はmod_rewriteです。そうでない場合は、echoの代わりにdie('Page found');でデバッグを試してください。これにより、ページのリダイレクトを追跡できます。

関連する問題