2010-09-24 194 views
1

我想寫一個新的控制器文件,例如:笨控制器

aaa.php

class aaa extends CI_Controller 
{ 
    public function bbb() 
    { 
     // Stuff 
    } 
} 

我怎樣才能進入aaa.php的BBB(),

的例子文件以welcome.php的index()函數開頭。

我該如何改變這一點,以我的新控制器文件開始?

回答

0

你想有一個單獨的功能作爲控制器的默認功能運行?爲什麼不從index()調用這個單獨的函數呢?除此之外,我不確定你在問什麼...... CodeIgniter user_guide是相當廣泛的,如果你沒有看透它。如果你在底座提供什麼

www.mysite.com/aaa/bbb/

0

如果你想使用AAA控制器的BBB功能,你只要在網址中輸入驗證URL,CI將始終假定您需要index操作。像localhost/foo將調用foo的index()動作。用localhost/foo/bar,你會打電話給foo的bar()動作。如果你想調用localhost並且你想訪問foo的索引(),你需要檢查你的config.php中是否正確設置了$route['default_controller'] = 'foo';。 (如果這不是working,檢查的.htaccess和index.php來手動添加)

0

由於GSTO說,調用函數血腦屏障進入的網址:mysite.com/aaa/bbb

如果您希望mysite.com/aaa默認調用bbb()而不是index(),您將希望在aaa.php控制器中創建_remap()函數來調用bbb()。
請參閱:CI Controllers - Functions Docs

0

訪問您的控制器在CodeIgniter中的方法的方法是由uri。默認路由是:

example.com/controller/function/param1/

因此,爲了獲得AAA的BBB()方法,你應該訪問以下網址:

/aaa/bbb

如果要將aaa的bbb()方法設置爲應用程序的默認頁面,則需要執行兩項操作。

你必須先告訴笨設置AAA爲您默認控制器

/* /application/config/routes.php */ 
$route['default_controller'] = "aaa"; 

之後,AAA級的index()方法將通過訪問你的基地網站URL調用。你不能告訴CodeIgniter將de默認方法index()更改爲別的東西(不需要設置某些路由),所以默認調用bbb()的最簡單方法是:

/* /application/controllers/aaa.php */ 
class aaa extends CI_Controller 
{ 
    public function index() 
    { 
     $this->bbb(); 
    } 

    public function bbb() 
    { 
     // Stuff 
    } 
}