2011-07-15 52 views
0

我正在學習如何使用codeIgnitor作爲我的php框架。我正在閱讀文檔並觀看介紹視頻,只是一般地跟着第一個教程,但它不適合我。CodeIgnitor:無法獲取我的新控制器/視圖

我創建了一個名爲「test.php」的控制器和一個名爲「test_view」的視圖。這個類的控制器與「welcome.php」完全一樣,並且該視圖文件只有一些靜態html。但是,當我去index.php /測試我得到一個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 {'改爲'class Test extends CI_Controller {' – PhearOfRayne

回答

0

試着看一下this page in the documentation - 這可能會解決你的問題。

這基本上意味着你應該嘗試輸入index.php?/ test/來代替(注意問號)。

0

首先,檢查上面的鏈接。可能有用。

如果沒有,那麼......

嘗試在配置文件(「routes.php文件」)更改默認的控制器到別的東西(可能是,以「測試」),然後嘗試加載的index.php。只是爲了測試整個系統是否工作(或不)。

檢查mod_rewrite是否被加載(在你的服務器.conf文件中,如果你使用的是Apache)。 嘗試使用框架的最新版本。 AFAIK,現在控制器類的名稱是「CI_Controller」。

最後,嘗試在函數聲明之前刪除「public」一詞。 AFAIR,CI使您能夠在控制器中創建私有函數,只需在函數名稱的開頭使用前綴(在配置文件中設置)(從而使所有其他函數公開)即可。

但是肯定的問題在於mod_rewrite。如果不是,請嘗試使用die('Page found');而不是echo進行調試 - 這將允許您跟蹤頁面上可能的重定向。